2012-08-01 37 views
0

假設我有一個@Factory@DataProvider,它返回三個測試實例(具有相同的類或不同的類)。我的測試也啓用了group-by-instance。現在,假設執行了第二個測試實例(這不一定是第二個測試實例創建 - 爲什麼?)有一個@BeforeClass失敗。爲什麼第三個實例(自測試初始化​​以來未改動)完全跳過而不是執行?這三個測試實例是否應該完全獨立?TestNG:@BeforeClass失敗導致其他@Factory實例被跳過

如果這是通過設計,有沒有辦法使@Before方法是「實例級」?

+0

這是@BeforeClass在所有測試實例共享的基類中嗎? – 2012-08-02 06:12:39

+0

我已經看到它發生在@BeforeClass方法在測試類的超類和測試類本身中。有問題的方法是**不是靜態的。 – 2012-08-02 17:55:22

回答

0

我也遇到了這個問題。我認爲@BeforeClass在測試開始前只執行過一次。但是,@BeforeClass將按照您希望的方式在實例之間執行。就我個人而言,我一直在錯誤地管理我的WebDriver,並且由於初始化導致第三個實例被跳過,所以我的第二個實例失敗。我嘗試過的其他臨時解決方案,但可能不是最佳做法是使用dependsOnGroupsdependsOnMethods來控制測試實例的流程。

相關問題