我有一个包含大量测试用例的大型项目。有些测试用例应该只在特定环境中工作,有些则不然。所以我正在尝试跳过或禁用不属于该环境的测试。
我正在使用注释转换器来覆盖@Test的行为。
这是我的转换器代码
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");
}
}
截至目前,我只是想打印。
我有很多包和类,我必须强加这个变形金刚。
我应该如何以及在哪里启动此课程?
请提出任何更好的方法来做同样的事情。
提前致谢
IAnnotationTransformer 是一个侦听器。你不需要实例化它,testng会为你做。您可以通过此处列出的任何方式指定侦听器,通过 xmls 或服务加载程序,具体取决于您的测试环境。
如果您在测试用例中没有标记组,那么我认为这是通过将启用属性设置为 false 来实现的方法。 还有另一种方法可以跳过IInvokedMethodListener中的测试,但我没有看到一个比另一个有任何好处。