在Play框架项目中使用Scalatest

5

我正在使用Scala编写Play框架项目。然而,我们团队希望使用Scalatest而非Specs。我已经将以下内容添加到plugins.sbt文件中:

libraryDependencies += "org.scalatest" %% "scalatest" % "1.7.1" "test"

但是当我开始运行时,没有新的JAR包被下载,即使在运行后也没有。

update

当我运行时

library-dependencies

它给我展示了这个

[info] List(org.scala-lang:scala-library:2.9.1, play:play:2.0, play:play-test:2.0:test)

同时,当我尝试进行测试时,我收到了一个编译错误,提示org.scalatest不在buildpath中。有人知道出了什么问题吗?

2个回答

7

您需要修改project/Build.scala文件,并最好使用以下方式:

val appDependencies = Seq(
  // Add your project dependencies here,
    "org.scalatest" %% "scalatest" % "1.7.2" % "test"
)

请使用1.7.2版本,其中包含SBT集成的错误修复。
此外,您需要将testOptions设置为Nil:-
val main = PlayProject(appName, appVersion, appDependencies, mainLang = SCALA).settings(
      // Add your own project settings here    
      testOptions in Test := Nil
    )

这是因为Play 2.0默认会发送以下Specs 2测试选项:-

sequential true junitxml console

ScalaTest无法识别它们,因此将testOptions设置为Nil应该可以解决问题。

谢谢,已经下载了jar文件,但是当我尝试运行时出现错误,test-listeners: java.net.UnbnownHostException: (none): (none)。 - Ferdy

1

您应该修改 project/Build.scala 文件,进行以下更改

val appDependencies = Seq(
  // Add your project dependencies here,
    "org.scalatest" % "scalatest_2.9.1" % "1.7.1"
)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接