我正在尝试在 Java Play 项目中运行单个测试类,但失败了。
如果我试着跑
testOnly my.app.TheClassTest
从 sbt 中(如 JavaTest 和 sbt test 中所述)我得到这个结果:
[info] Passed: Total 0, Failed 0, Errors 0, Passed 0
[info] No tests to run for test:testOnly
我唯一的怀疑是消息“没有测试要运行测试:testOnly”不包括我尝试测试的类的名称。
如果我尝试从命令行运行它
sbt testOnly "my.app.TheClassTest"
它运行所有测试,然后我收到以下错误:
[error] Expected ID character
[error] Not a valid command: net (similar: set, new, inspect)
[error] Expected project ID
[error] Expected configuration
[error] Expected ':' (if selecting a configuration)
[error] Expected key
[error] Not a valid key: my (similar: test, name, assets)
[error] my.app.TheClassTest
我尝试了各种变化,例如 testOnly TheClassTest、test-only my.app.TheClassTest、test:testOnly 等,结果只有很小的变化。在 sbt 中使用 testOnly 我可以写任何我喜欢的东西,并且仍然总是得到相同的响应。
运行所有测试工作正常。
至少有没有办法获得更多
最佳答案
从 sbt 您可以尝试获取命令的自动完成:
sbt:my-project> testOnly <tab>
它应该显示可用的测试类列表。这可能不适用于最旧版本的 sbt。
如果您没有看到任何类,请尝试运行
test:compile
在编译您的测试类之前。
关于unit-testing - sbt testOnly 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50701647/