在JUnit 3中,我可以测试套件下面的代码中获得所有的测试:如何获得测试集合在一个JUnit 4测试套件
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]:http://stackoverflow.com/questions/4107498/how-to-build-a-list-of-classes-annotated-with-my-custom-annotation – aalku
为什么你想测试?针对不同的用例有不同的解决方案。不同的跑步者也可以动态地生成新的测试,因此可能很难获得完整的Junit 4测试列表,直到您真正运行它们。 – dkatzel
@Dkatzel我正在研究一些遗留代码,用于分析JUnit套件的构成并检查正确的测试是否在正确的套件中(例如,确保有人没有在数据库套件中加入GUI测试)。也许是不必要的迂腐,但unfortuantely我没有在任何权现在说,所以我试图找到相当于现有代码的JUnit 4。 – Thunderforge