Почему 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
).