【发布时间】:2014-01-08 22:54:42
【问题描述】:
在 JUnit 3 中,我可以使用以下代码获取测试套件中的所有测试:
TestSuite allTestsSuite = (TestSuite) AllTests.suite()
Enumeration enumeration = allTestsSuite.tests();
ArrayList listOfTests = Collection.list(enumeration);
但是,我在 JUnit 4 中找不到等效的方法。类不再有 .suite() 方法;他们只是使用@Suite 注释。除了Suite class 不再有tests() 方法之外,这不会是一个问题。有一个 children() 方法,但它返回一个 Runners 列表,这似乎与我正在寻找的不同。
那么如何在 JUnit 4 的测试套件中获取测试,就像使用 JUnit 3 一样?
【问题讨论】:
-
也许你可以[扫描带注释的类][1]。 [1]:stackoverflow.com/questions/4107498/…
-
您为什么要进行测试?针对不同的用例有不同的解决方案。不同的运行程序也可以动态生成新的测试,因此在实际运行之前可能很难获得完整的 Junit 4 测试列表。
-
@Dkatzel 我正在处理一些遗留代码,用于分析 JUnit 套件的构成并检查正确的测试是否在正确的套件中(例如,确保有人没有进行 GUI 测试在数据库套件中)。也许这是不必要的迂腐,但不幸的是我现在对此没有任何发言权,所以我试图找到一个与现有代码等效的 JUnit 4。
标签: java junit test-suite