假设我在下面定义了两个类 BaseClass 和 DerivedClass。base 的 waitPeriod 为 1 分钟,派生的 waitPeriod 为 5 分钟。
class BaseClass {
protected String getDatasetType() {
return "BaseClass";
}
@BeforeClass
public void initialize() {
//some initialize
}
@Test
public void waitPeriod() {
long a = 1000*300; //wait 5 minutes
if (getDatasetType().equals("BaseClass")) {
a = 1000*60; // wait 1 minutes
}
try {
Thread.sleep(a);
} catch (InterruptedException e) {
e.printStackTrace();
}
log.info("waitPeriod " + getDatasetType());
}
@Test(dependsOnMethods = {"waitPeriod"})
public void test() {
log.info("test " + getDatasetType());
}
}
public class DerivedClass extends BaseClass {
@Override
protected String getDatasetType() { return "DerivedClass"; }
}
如果在TestNG中运行这两个类,理想情况下1分钟后只触发BaseClass的“测试”功能,5分钟后触发DerivedClass的“测试”功能。但是在我的测试运行过程中,它在 1 分钟后触发了两个测试功能。