一個我能想到TestNG中這樣做的方法是使用IAnnotationTransformer聽衆。基本上你可以在運行時操作註解。這裏是一個例子:
監聽器:
public class SampleAnnotationTransformer implements IAnnotationTransformer {
@Override
public void transform(ITestAnnotation iTestAnnotation, Class aClass, Constructor constructor, Method method) {
if(method != null){
if(!isThisTestCompatible(method)){
//diable the test case.
iTestAnnotation.setEnabled(false);
}
}
}
private boolean isThisTestCompatible(Method method){
//your logic goes here...
return false;
}
}
配置上述TestNG中聽者,如下所示:
<suite name="Suit" verbose="1">
<listeners>
<listener class-name="SampleAnnotationTransformer" />
</listeners>
//test cases...
值得檢查其他收聽以及在http://testng.org/doc/documentation-main.html#testng-listeners
喂......這聽起來很棒......我想深入瞭解這一點:-)感謝指針:-) –
這就是我將要推薦的。 –