从sbt运行一个特定的scalatest测试

时间:2014-03-05 17:58:35

标签: sbt scalatest

sbt的{​​{1}}命令可用于运行特定测试类中的测试。使用JUnit测试,您可以使用test-only在测试类上运行特定方法,例如test-only只运行该方法。

使用scalatest更自由形式的测试语法是否可以实现这一点,可能是通过计算内部用于引用特定测试的名称?如果在test-only mypackage.MyTestClass.test1Equals1中不可能(由于其性质很容易想象),有没有办法通过更简单的测试方法来实现,如FreeSpec

2 个答案:

答案 0 :(得分:11)

对于一般解决方案,我们需要等待sbt#911,但显然ScalaTest 2.1.3支持运行特定测试。 Seth说:

  

ScalaTest 2.1.3现在支持:

test-only *MySuite -- -z foo
  

仅运行名称包含子字符串" foo"的测试。对于完全匹配而不是子字符串,请使用-t代替-z

答案 1 :(得分:1)

进行测试:

  

sbt test-only com.path.to.UnitTestSpec

运行特定的集成测试:

  

sbt it:test-only com.path.to.IntegrationTestSpec