我试图基于使用IAnnotationTransformer实现的自定义注释跳过测试。在类级别设置自定义注释时跳过测试成功,但是从扩展基类继承的测试方法没有被忽略。如果我在抽象类中设置相同的自定义注释,那么一切都按预期工作,但我需要在其他地方使用我的抽象类,并且不能使用自定义注释标记它。
忽略抽象类中的测试方法的最佳方法是什么。任何帮助将不胜感激。
public abstract class AbstractTestCase {
@Test()
public void testMethod1(){
System.out.println("selenium abstarct1");
}
@Test()
public void testMethod2(){
System.out.println("selenium abstarct2");
}
}
@SetEnvironment(executionEnvironments = {ExecutionEnvironment.STANDALONE})
public class TestSelenium extends AbstractTestCase {
@Test()
public void runSelenium1() {
System.out.println("runSelenium()");
}
@Test()
public void runSelenium2() {
System.out.println("runSelenium()");
}
}
答案 0 :(得分:0)
<exclude>
标签 <?xml version="1.0" encoding="utf-8"?>
<suite name="SUITE">
<test name="TEST">
<classes>
<class name="TestClass">
<methods>
<exclude name="excludedTestMethod1" />
<exclude name="excludedTestMethod2" />
</methods>
</class>
</classes>
</test>
</suite>
因此,TestNG将不会运行类excludedTestMethod1
的{{1}}和excludedTestMethod2
。
排除的测试方法可以同时属于TestClass
和TestClass
的超类。
TestClass
注释标记,则TestNG将不会运行它这里有更详细的示例
@Test(enabled = false)