运行 使用 ScalaTest 的单个测试套件

Run single test suite with ScalaTest

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

我想要 运行 一个 ScalaTest 套件 class。我创建了一个简单的示例测试套件 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

那 运行 是我所有的测试。

我在这里查看文档:http://www.scalatest.org/user_guide/using_scalatest_with_sbt

它说完全按照我在做的,test 运行s 一切,而 test-only <qualified suite class names> 运行s 只是指定套件。然而,它就是行不通。

这看起来简单得离谱,但它无法正常工作,运行无法进行所有测试。谢谢!

在您的命令行中,SBT 将通过将命令和参数括在引号中来接收带有您的参数的命令:

sbt 'test-only org.example.TestSuite'

如果您输入 SBT 的命令行,则无需指定引号,只需 运行 您的命令,例如:

$ sbt
> test-only org.example.TestSuite

请注意,最后一个示例是您发布的文档 link 中示例的用途。

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