对于我的测试,我正在使用基类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
}
}
是否有首选方法可以实现此目的?
答案 0 :(得分:5)
我更喜欢使用@Configuration
注释。 @Override
和super
更脆弱。您可以忘记拨打super.setup()
,或在错误的地方拨打电话。同时,使用@Configuration
的单独方法可以让您在必要时为子设置方法选择更合适的命名,并且您可以通过TestNG(父级然后是子级)保证设置顺序。
还有两点:
final
以禁止意外覆盖。@BeforeMethod
注释。它们从TestNG 5.0开始提供。当然,对于旧版本,您不得不使用@Configuration
。