TestNG可以使用@Ignore注解忽略测试,类似于pytest中pytest.mark.skip,比如:
package org.example;
//import static org.junit.Assert.assertTrue;
import org.testng.Assert;
import org.testng.annotations.*;
public class AppTest
{
@BeforeClass
public void setUp() {
System.out.println("开始了");
}
@Ignore
public void test01(){
int a = 1;
Assert.assertEquals(a, 1);
System.out.println("我是test01");
}
@Test
public void test02() {
Assert.assertTrue(true);
System.out.println("我是test02");
}
@AfterClass
public void tearDown() {
System.out.println("结束了");
}
}
以上表示test01方法被忽略不执行
如果给测试类标注,那么测试类里面的测试方法都不会执行
package org.example;
//import static org.junit.Assert.assertTrue;
import org.testng.Assert;
import org.testng.annotations.*;
@Ignore
public class AppTest
{
@BeforeClass
public void setUp() {
System.out.println("开始了");
}
@Test
public void test01(){
int a = 1;
Assert.assertEquals(a, 1);
System.out.println("我是test01");
}
@Test
public void test02() {
Assert.assertTrue(true);
System.out.println("我是test02");
}
@AfterClass
public void tearDown() {
System.out.println("结束了");
}
}
如果只作用到测试方法上,那么它就相当于@Test(enabled=false)
效果一样
@Test(enabled = false)
// @Ignore
public void test01(){
int a = 1;
Assert.assertEquals(a, 1);
System.out.println("我是test01");
}