04、testng---测试方法、测试类、测试分组

文章介绍了TestNG中使用@Test注解定义测试方法和测试类的方式,并展示了如何通过@BeforeClass和@AfterClass进行设置前置和后置操作。此外,还讨论了测试分组的概念,允许对测试用例打标记,类似pytest的标记功能。通过XML配置文件可以筛选运行特定分组的测试用例。文章强调了分组的继承性以及如何覆盖类级别的分组设定。

1、测试方法和测试类

我们知道在pytest中,只要符合命名规范,就可以被自动识别为测试类和测试方法。在testng中,使用了@Test注解的方法就是测试方法,包含测试方法的类就是测试类。比如:

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("开始了");
    }

    @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也能放在测试类上面,这样测试类下的所有方法都是测试方法,比如:

@Test
public class Test1 {
  public void test1() {
  }
 
  public void test2() {
  }
}

而且可以在测试类和测试方法上同时使用@Test,比如给某个Test加入分组:

这样表示test1和test2都是测试用例,且test2分组为g1

@Test
public class Test1 {
  public void test1() {
  }
 
  @Test(groups = "g1")
  public void test2() {
  }
}

2、测试分组

测试组其实就是给测试方法打标记,比如冒烟测试用例和功能测试用例,类似于pytest中的pytest.mark,可以给测试用例设置多个分组,groups是一个字符串数组

 编辑xml文件:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="All Test Suite">
    <test verbose="2" preserve-order="true" name="D:/testngDemo">
        <groups>
            <run>
                <include name="B"/>
            </run>
        </groups>
        <classes>
            <class name="org.example.AppTest"/>
        </classes>
    </test>
</suite>

这样就只会运行标记为B的测试用例

对于分组的位置,如果测试类和测试方法都标记了分组,那么测试类的分组会作用到所有方法中,比如:

@Test(groups = {"checkin-test"})
public class All {
    @Test(groups = {"func-test")
    public void method1() { ...}
 
    public void method2() { ...}
}

这样,method2()属于checkin-test分组,method1属于func-test和checkin-test两个分组。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值