这是我第一个使用Play Framework和Scala的网络应用程序。我正在按照本教程> https://semaphoreci.com/community/tutorials/how-to-add-integration-tests-to-a-play-framework-application-using-scala并且应用运行良好后,我的测试无法正常工作。当我输入sbt test时,编译器说无法找到PlaySpecification。
[error] /home/felipe/Documentos/AMC/amc-project/play-scala-library/test/controllers/HomeControllerIntegrationSpec.scala:6: not found: type PlaySpecification
[error] class HomeControllerIntegrationSpec extends PlaySpecification {
这些是我的依赖项>
libraryDependencies ++= Seq(
jdbc,
cache,
ws,
evolutions,
"com.typesafe.play" %% "anorm" % "2.4.0",
"commons-codec" % "commons-codec" % "1.6",
"org.scalatestplus.play" %% "scalatestplus-play" % "1.5.1" % Test
)
resolvers += "scalaz-bintray" at "http://dl.bintray.com/scalaz/releases"
答案 0 :(得分:2)
有两个可供使用的测试框架,specs2和scalatest。你只需要使用一个,而不是两个。在你的情况下,事情有点混乱:
PlaySpecification
是使用specs2进行测试的特性。但是,您的依赖项仅包含scalatestplus(因此也是可传递的scalatest),这意味着您正在使用scalatest来运行测试。在这种情况下,您希望使用PlaySpec
代替scalatest套件的基类。
另外,您当然可以切换到specs2,包括它的依赖性使PlaySpecification
可用。在这种情况下,只需将specs2 % Test
添加到您的依赖项中(最好删除scalatestplus)。