本文介紹了如何在測(cè)試失敗后停止運(yùn)行TestNG的處理方法,對(duì)大家解決問(wèn)題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧!
問(wèn)題描述
我正在嘗試用TestNG編寫(xiě)一個(gè)測(cè)試方法,失敗后,整個(gè)測(cè)試套件將停止運(yùn)行。
@Test
public void stopTestingIfThisFailed() throws Exception
{
someTestStesp();
if (softAsserter.isOneFailed()) {
asserter.fail("stopTestingIfThisFailed test Failed");
throw new Exception("Test can't continue, fail here!");
}
}
正在引發(fā)異常,但其他測(cè)試方法正在運(yùn)行。
如何解決此問(wèn)題?
推薦答案
我是這樣解決問(wèn)題的:在一定不能失敗的測(cè)試之后-我正在將數(shù)據(jù)寫(xiě)入臨時(shí)文本文件。
稍后,在下一個(gè)測(cè)試中,我在@BeforeClass中添加了代碼,用于檢查前面提到的文本文件中的數(shù)據(jù)。如果找到顯示停止程序,我將終止當(dāng)前進(jìn)程。
如果”不能”測(cè)試實(shí)際失敗:
public static void saveShowStopper() {
try {
General.createFile("ShowStopper","tempShowStopper.txt");
} catch (ParseException e) {
e.printStackTrace();
}
}
@BeforeClass驗(yàn)證代碼:
@BeforeClass(alwaysRun = true)
public void beforeClass(ITestContext testContext, @Optional String step, @Optional String suiteLoopData,
@Optional String group) throws Exception
{
boolean wasShowStopperFound = APIUtils.loadShowStopper();
if (wasShowStopperFound){
Thread.currentThread().interrupt();
return;
}
}
這篇關(guān)于如何在測(cè)試失敗后停止運(yùn)行TestNG的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,