在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