我有一個JUnit測試套件形式:停止JUnit的套房,如果特定的測試失敗
@RunWith(Suite.class)
@Suite.SuiteClasses({ xx.class, yy.cass })
public class AllTests {
public static Test suite() {
TestSuite suite = new TestSuite(AllTests.class.getName());
//$JUnit-BEGIN$
//$JUnit-END$
return suite;
}
}
這就要求香草測試是這樣的:
public class xxx {
@Test
public void test() throws {
...
我有一個情況我會如果在第一次測試中出現錯誤或失敗時停止運行測試套件的其餘部分。但其他人的錯誤/失敗是可以的,套件應該完成儘可能多的其他測試。基本上第一次測試失敗會表明其餘運行並不安全。
這可能嗎?
我將如何編程方式檢查如果斷言失敗? – Jonathan 2012-04-05 23:23:40
好吧,我看到我可以在第一次測試中捕獲AssertionError,然後調用System.exit(),但是JUnit測試不會通過或失敗,只是停止運行。似乎應該有一個更優雅的方式。 – Jonathan 2012-04-05 23:34:03
回覆:更優雅的方式,我不相信JUnit提供此功能的開箱即用。它可以導致測試之間的耦合。理想情況下,您的測試應該彼此獨立運行,不會受到其他故障的影響。如果你堅持,那麼Hiro2k的建議是最好的。 – 2012-04-06 00:12:17