2015-08-27 25 views
2

我使用testng @AfterClass註釋在外部系統中進行一些清理。但是當測試失敗時,我真的需要這些數據。如果只有測試通過,我可以讓testng執行一些操作嗎?@ TestClass中的AfterClass/Suite如果只通過測試

+0

所有的結果和過濾器,你能告訴真正的問題是什麼?看起來很奇怪,你總是想刪除使測試失敗的數據 – Raffaele

+0

不,這是相反的。我想刪除測試數據,只要它通過。 –

+0

更好。所以你應該調整標題和描述:他們說相反 – Raffaele

回答

3

有一個選項可以獲取有關所有失敗測試的信息,直到當前時刻。您必須將ITestContext注入您的「afterClass」方法。

@AfterClass 
public void after(ITestContext context) { 
    context.getFailedTests().getAllResults() 
} 

迭代通過識別TestClass

1

AFAIK沒有任何後級/ aftersuite級別。你可以做的是幾件事情:

  1. AfterMethod確實把ITestResult作爲參數,它給你當前執行的測試的結果。基於你可以清理。

或者

  • ISuiteListener給你用的TestResult對象,它可以迭代,然後執行清理的onFinish方法。
  • 相關問題