我有一个包含大量测试用例的庞大项目。一些测试用例假设仅适用于特定环境,有些则不适用。所以我试图跳过或禁用不属于该环境的测试。
我正在使用Annotation Transformers来覆盖@Test的行为。
这是
中的Transformer代码package com.raghu.listener
public class SkipTestsTransformer implements IAnnotationTransformer {
public void transform(ITestAnnotation annotation, Class testClass,
Constructor testConstructor, java.lang.reflect.Method testMethod){
// I intend to do this later
// if(someCondition){
// // Do something.
// }
System.out.println("Inside Transform");
}
}
截至目前,我只是想打印。
我有许多包和类,我必须强加这个Transformer。
我应该如何以及在哪里开设这门课程?
请建议任何更好的方法来做同样的事情。
提前致谢
答案 0 :(得分:1)
IAnnotationTransformer是一个监听器。你不需要实例化它,testng会为你做。您可以通过xmls或服务加载器以任何列出的方式here.指定侦听器,具体取决于您的测试环境。
如果您的测试用例中没有标记组,那么我认为这是将enabled属性设置为false的方法。还有另一种方法可以跳过IInvokedMethodListener中的测试,但是我没有看到任何一个优于另一个的好处。