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