问题:如何在TestNG XML 中设置方法优先级,而不是在class.method级别添加优先级标记?
我尝试找到答案,但我无法在任何地方找到这个具体点。
用例:我可以以编程方式生成TestNG XML并调用测试 基于给定方法名称的方法在外部文件中写为数据源。
答案 0 :(得分:1)
我认为这样做的方法不止一种。使用实现Annotation Transformer的侦听器就是其中之一。你可以这样做:
public class SetPriorityListener implements IAnnotationTransformer {
@Override
public void transform(final ITestAnnotation annotation, final Class testClass,
final Constructor constructor, final Method method) {
if ("myTestName".equals(method.getName())) {
annotation.setPriority(getTestPriority());
}
}
private int getTestPriority() {
//logic to get priority for this test
return 0;
}
}
您可以在官方文档中阅读有关AnnotationTransformer的更多信息:http://testng.org/doc/documentation-main.html#annotationtransformers