在Scala课程中的示例分配的build.sbt中,使用的测试库是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中嵌入scalatest的原因是什么?
答案 0 :(得分:1)
我从引用的课程中检查了作业项目,实际上它使用了在project/*.scala
文件中定义构建的弃用方法,扩展了Build
,结构非常复杂。
您的问题的答案很简单:在project/CommonBuild.scala
中定义了最常见的依赖关系,并将其添加到project/StudentBuildLike.scala
中的构建中。所以没有魔力,你使用普通的scalatest和自定义测试运行器(见project/ScalaTestRunner.scala
)。