Почему Scalatest можно использовать с помощью Junit в Scala?

В build.sbt примера задания в курсе Scala используется библиотека тестов junit 4.10. Там нет упоминания о Scalatest.

libraryDependencies += "junit" % "junit" % "4.10" % Test

И все же в тестовом классе scalatest можно ссылаться и тесты могут быть написаны с использованием фактического scalatest синтаксис:

import org.scalatest.FunSuite
import org.junit.runner.RunWith
import org.scalatest.junit.JUnitRunner

@RunWith(classOf[JUnitRunner])
class ListsSuite extends FunSuite with Matchers {
  ...etc...
}

Вопрос: я полагаю, доступ к компилятору Scala scalatest через junit библиотека. Если да, то в чем причина встраивания самого масштабного в junit?

1 ответ

Решение

Я проверил проект задания из упомянутого курса, и он на самом деле имеет довольно сложную структуру, используя устаревший способ определения сборки в project/*.scala файлы, расширяющие Build,

Ответ на ваш вопрос прост: хотя самая масштабная зависимость определяется в project/CommonBuild.scala и добавлен в сборку в project/StudentBuildLike.scala, Таким образом, нет никакой магии, вы используете обычный скалярий и пользовательский бегун (см. project/ScalaTestRunner.scala).

Другие вопросы по тегам