如何执行仅与正则expression式匹配的testing?
在0.10版本中,我经常使用test-only来缩小我的testing数量。
sbt> test-only com.example.MySpec
但是,我想缩小范围,只运行名称/描述与正则expression式匹配的testing。 有没有一些语法来实现这样的事情?
sbt> test-only .*someRexExp.*
完整的正则expression式不被testOnly支持。 但是,支持通配符。
sbt> testOnly com.example.*Spec
这里只有星号*被解释,而不是句号。 这将select以com.example.开头的所有testingcom.example. 并以Spec结尾。
或者只是所有的testingSpec :
sbt> testOnly *Spec
testOnly和其他testing信息logging在这里: http : //www.scala-sbt.org/release/docs/Detailed-Topics/Testing
通过使用特定于框架的runner参数,您可以按testing用例的名称(而不是套接字类名称)进行匹配。 ScalaTest 支持与-z参数的子string匹配 :
> testOnly -- -z insert > testOnly *TreeSpec -- -z insert
这将以“插入”的名义运行所有的testing,然后只有以TreeSpec结尾的套件中的匹配情况,就像直觉一样。 您也可以使用-n TagName和-l TagName分别包含或排除ScalaTest标记支持中的标记,并使用-t来匹配确切的testing名称。
Specs2 支持带有-ex参数的完整Java正则expression式 :
> testOnly -- -ex ".*someRexExp.*"
-include和-exclude支持Spec2的标签function。
查看内联链接,查看跑步者支持的完整参数列表。 这些似乎只适用于testOnly sbt命令,而不是test 。