[英]TestNg, annotation “beforeTestMethod” and override
對於我的測試,我使用基類MyTestBase
定義了執行一些基礎准備工作的方法setup()
:
public class MyTestBase {
@Configuration( beforeTestMethod=true )
protected void setup() {
// do base preparations
}
}
現在,我有一些更具體的測試類,它們必須做自己的准備。 有多種實現方法。
我可以使用@Override
:
public class MySpecialTestBase extends MyTestBase {
@Override
protected void setup() {
super.setup();
// do additional preparations
}
}
...或者我可以使用單獨的設置方法:
public class MySpecialTestBase extends MyTestBase {
@Configuration( beforeTestMethod=true )
protected void setupSpecial() {
// do additional preparations
}
}
是否有實現此目的的首選方法?
我更喜歡使用@Configuration
批注。 @Override
和super
更脆弱。 您可以忘記調用super.setup()
或在錯誤的地方調用它。 同時,將單獨的方法與@Configuration
可讓您在必要時為子設置方法選擇更合適的命名,並獲得TestNG保證的設置順序(父先子)。
還有兩點:
final
。 @BeforeMethod
批注。 從TestNG 5.0開始可用。 當然,對於舊版本,您不得不使用@Configuration
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.