我们的工具包有超过 15000 个 JUnit 测试,如果其他测试失败,许多测试就会失败。例如,如果方法 X.foo() 使用 Y.bar() 中的功能并且 YTest.testBar() 失败,那么 XTest.testFoo() 也会失败。显然,XTest.testFoo() 也可能因为 X.foo() 特有的问题而失败。
虽然这很好并且我仍然希望这两个测试都运行,但如果可以使用指向 YTest.testBar() 的 XTest.testFoo() 来注释测试依赖性,那就太好了。这样,人们可以立即看到 X.foo() 使用的哪些功能也失败了,哪些没有。
JUnit 或其他地方是否有这样的注释?就像是:
public XTest {
@Test
@DependsOn(method=org.example.tests.YTest#testBar)
public void testFoo() {
// Assert.something();
}
}
原文由 Egon Willighagen 发布,翻译遵循 CC BY-SA 4.0 许可协议
JUnit 还不能(在撰写本文时,2022 年)。
但是 JExample 和 TestNG 都有类似的东西。
我不知道它有多大用处,但是如果您尝试了,请回来告诉我们它是否有用。