這是一個簡單的方法。
- (你的情況
@UnstableTest
)創建自定義的註釋
- 建設的
org.testng.IAnnotationTransformer
的實現,其中你測試進來作爲transform()
方法的參數Method
對象,看看它是否有你的註釋,如果是,然後注入註釋。
下面是它怎麼能是這樣的:
標記註釋,這標誌着片狀測試
@Retention(java.lang.annotation.RetentionPolicy.RUNTIME)
@Target({METHOD})
@interface UnstableTest {}
註釋變壓器
public static class UnstableTestInjector implements IAnnotationTransformer {
@Override
public void transform(ITestAnnotation annotation, Class testClass, Constructor testConstructor, Method testMethod) {
if (testMethod == null) {
return;
}
UnstableTest unstableTest = testMethod.getAnnotation(UnstableTest.class);
if (unstableTest == null) {
return;
}
annotation.setRetryAnalyzer(TryAgain.class);
}
}
現在,使用添加此監聽器<listeners>
標籤。
應該這樣做。