使用ScalaTest运行单个测试套件

时间:2017-01-08 03:06:36

标签: scala sbt scalatest

我有一个简单的Scala 2.11.8 + ScalaTest 3.0.1 + SBT项目。

我想运行一个ScalaTest Suite类。我创建了一个简单的示例测试套件org.example.TestSuite

package org.example

import org.scalatest.FunSuite

class TestSuite extends FunSuite {
  test("just a simple example test") {
    assert(1 + 1 === 2)
  }
}

我可以完全正确地将它与IntelliJ分开运行。

当我尝试在命令行上单独运行它时:

sbt test-only org.example.TestSuite

这会运行我的所有测试。

我在这里查看文档:{​​{3}}

它说要做我正在做的事情,test运行一切,而test-only <qualified suite class names>只运行指定的套件。但是,它只是不起作用。

这看起来非常简单,但它不能正常运行并运行所有测试。谢谢!

1 个答案:

答案 0 :(得分:1)

在命令行中,SBT将通过将命令和参数括在引号中来获取带有诸如你的参数的命令:

sbt 'test-only org.example.TestSuite'

如果您输入SBT的命令行,那么您不需要指定引号,只需按以下命令运行:

$ sbt
> test-only org.example.TestSuite

请注意,最后一个示例是如何使用您发布的文档链接中的示例。

另请注意,在最近的SBT versions such as 0.13中,命令调用已更改为testOnly