如何执行仅与正则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
。