ScalaTest 2.0不会自动运行扩展Suite但已注释的类DoNotDiscover.但是,它"将运行带有DoNotDiscover注释的类,如果被明确要求,它就不会发现它们."
但是,我如何明确要求ScalaTest运行这样一个DoNotDiscover注释类?
尽管我通过显式指定它们,ScalaTest会忽略所有这些类test-only.示例:我有这个测试套件:
@DoNotDiscover
class AnonLoginSpecRunner
extends org.scalatest.Suites(new AnonLoginSpec)
with StartServerAndChromeDriverFactory
Run Code Online (Sandbox Code Playgroud)
但是当我这样做时:
[my-project] $ test-only test.e2e.specs.AnonLoginSpecRunner
Run Code Online (Sandbox Code Playgroud)
ScalaTest说:
[info] No tests to run for securesocial/test:test-only
[info] Passed: : Total 0, Failed 0, Errors 0, Passed 0, Skipped 0
Run Code Online (Sandbox Code Playgroud)
我能做些什么来让ScalaTest运行我的AnonLoginSpecRunner?
作为一种解决方法,我目前这样做:
[debiki-server] $ test:console
scala> (new test.e2e.specs.AnonLoginSpecRunner).execute()
Run Code Online (Sandbox Code Playgroud)
这是有效的,但它有点麻烦,我想避免它.
(我使用的原因@DoNotDiscover是我有一个主要套件,一劳永逸地设置chrome驱动程序,然后运行所有E2E测试规范的列表.)
我想出的解决方案是创建一个 shell 脚本,通过 ScalaTest 的“Runner”运行测试,通过 SBT
所以一个简单的./sbtTestFoo.sh脚本看起来像这样:
sbt "test:run-main org.scalatest.tools.Runner -o -s
com.foo.TestFoo"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1007 次 |
| 最近记录: |