未找到Play + Scala套件测试类型PlaySpecification

时间:2016-05-29 01:05:52

标签: scala testing playframework sbt

这是我第一个使用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"

1 个答案:

答案 0 :(得分:2)

有两个可供使用的测试框架,specs2scalatest。你只需要使用一个,而不是两个。在你的情况下,事情有点混乱:

PlaySpecification是使用specs2进行测试的特性。但是,您的依赖项仅包含scalatestplus(因此也是可传递的scalatest),这意味着您正在使用scalatest来运行测试。在这种情况下,您希望使用PlaySpec代替scalatest套件的基类。

另外,您当然可以切换到specs2,包括它的依赖性使PlaySpecification可用。在这种情况下,只需将specs2 % Test添加到您的依赖项中(最好删除scalatestplus)。