5

我在scala中从事一个playframework项目。然而,我们的团队希望使用 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 不在构建路径中。有谁知道出了什么问题?

4

2 回答 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 测试选项,它们是:-

顺序真正的junitxml控制台

ScalaTest 无法识别它们,因此将 testOptions 设置为 Nil 应该可以修复它。

于 2012-04-30T04:16:10.957 回答
1

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

val appDependencies = Seq(
  // Add your project dependencies here,
    "org.scalatest" % "scalatest_2.9.1" % "1.7.1"
)
于 2012-04-28T10:08:06.690 回答