欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【TestNG】——自动化测试框架

程序员文章站 2024-03-19 17:56:10
...

背景

随着科技的发展,业务做的也是越来越大,越来越复杂,所以导致我们的业务编码也是越来越复杂,对于程序员和测试来说无疑是增加更多的测试难度,所以需要一个成熟的测试框架势在必行,TestNG应该是程序员和测试人员一个比较好的选择,这里就不说在这个基础上衍生的自动化测试框架了,只是说程序员怎么借助TestNG来更好的方便我们做单元测试,一次性搞定各种情况。

一、IDEA+SpringBoot+TestNG

1、依赖

        <dependency>
            <groupId>org.testng</groupId>
            <artifactId>testng</artifactId>
            <version>7.0.0</version>
            <scope>test</scope>
        </dependency>

2、IDEA下载插件

【TestNG】——自动化测试框架

二、代码演示

1、创建测试类

public class TeatNGTest {
    @Test(groups = "test1")
    @Parameters({"param1","param2"})
    public void test1(String param1,String param2){
        System.out.println("test1 ceshi");
        System.out.println("param1="+param1+",param2="+param2);
    }

    @Test(groups = "test2")
    @Parameters({"param1","param2"})
    public void test2(String param1,String param2){
        System.out.println("test2 ceshi");
        System.out.println("param1="+param1+",param2="+param2);
    }

    @Test(groups = "test3")
    @Parameters({"param1","param2"})
    public void test3(String param1,String param2){
        System.out.println("test3 ceshi");
        System.out.println("param1="+param1+",param2="+param2);
    }


}

2、点击需要测试的类右键选择Create TestNG XML

【TestNG】——自动化测试框架

3、编辑TestNG.xml文件

三、配置文件

1、需要测试的类需要加上TestNG的注解

【TestNG】——自动化测试框架

2、TestNG.xml配置

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="All Test Suite">
    <!--分组对应测试方法上的分组,name属性对应测试方法上定义的group名,
    如果包含就是include,不包含就是exclude,如果添加分组了,下面的
    methods就不需要了,直接通过分组来控制粒度,如果不需要分组就不需要groups
    标签,直接放开methods标签,指定执行的方法,同时该可以传简单的参数,
    但是复杂的参数不行,parameter标签的参数与方法上的注解属性相同,
    如果有不同的案例,那就新建不同的test标签-->
    <groups>
        <run>
            <include name="test1"/>
            <exclude name="test2"/>
            <exclude name="test3"/>
        </run>
    </groups>

    <test verbose="2" preserve-order="true"
          name="测试用例1">
        <parameter name="param1" value="1"/>
        <parameter name="param2" value="2"/>
        <classes>
            <class name="测试类的全限定名">
                <!--<methods>-->
                    <!--<include name="test1"/>-->
                    <!--<include name="test2"/>-->
                    <!--<include name="test3"/>-->
                <!--</methods>-->
            </class>
        </classes>
    </test>

    <test verbose="2" preserve-order="true"
          name="测试用例2">
        <parameter name="param1" value="1"/>
        <parameter name="param2" value="2"/>
        <classes>
            <class name="测试类的全限定名">
                <!--<methods>-->
                    <!--<include name="test1"/>-->
                    <!--<include name="test2"/>-->
                    <!--<include name="test3"/>-->
                <!--</methods>-->
            </class>
        </classes>
    </test>
</suite>

四、执行

1、点击testNG.xml,右键执行

【TestNG】——自动化测试框架

2、结果

Connected to the target VM, address: '127.0.0.1:52363', transport: 'socket'
test1 ceshi
param1=1,param2=2
Disconnected from the target VM, address: '127.0.0.1:52363', transport: 'socket'
test1 ceshi
param1=1,param2=2

===============================================
All Test Suite
Total tests run: 2, Passes: 2, Failures: 0, Skips: 0
===============================================

3、导出文件

【TestNG】——自动化测试框架

参考文章:https://www.yiibai.com/testng/basic-annotations.html