如何使用SBT仅运行单个Spec2规范?

Jac*_*ack 15 scala specs2

如果您在SBT项目中定义了2个测试:

class Spec1 extends Specification {
  def is =
    "Tests for specification 1" ^
      p ^
      "Test case 1" ! todo ^
      end
}
Run Code Online (Sandbox Code Playgroud)

class Spec2 extends Specification {
  def is =
    "Tests for specification 2" ^
      p ^
      "Test case 2" ! todo ^
      end
}
Run Code Online (Sandbox Code Playgroud)

然后test从SBT内部运行将执行这两个测试.只运行其中一个测试的最简单方法是什么?

Rég*_*les 19

使用test-onlysbt命令.

sbt> test-only com.example.MySpec
Run Code Online (Sandbox Code Playgroud)

您甚至可以使用通配符来运行一系列测试.请参见如何仅执行与正则表达式匹配的测试?

  • 如果你不想先输入`sbt` shell,那么可执行文件只需要一个参数,所以你必须用引号传递整个命令.在这里,`sbt"test-only com.example.MySpec"`或`sbt'test-only*MySpec"` (9认同)