testng之testSuite

套件测试(※)
解决的是什么?
如何一次运行多个测试类,为了解决这个问题,引入了TestSuite测试套件的概念。
不同的测试类可以组装成一个具备测试相关功能的套件,这个套件就叫做TestSuite。比如TestSuite有测试购物基本流程的测试套件,有测试促销的套件,有具备冒烟功能的套件或者具备回归功能的测试套件。
testsuite通过配置文件去实现。
三个类,配置,登录,支付,加一个testng.xml配置文件,配置好后,运行配置文件:

loginTest:

package com.course.testng.suite;

import org.testng.annotations.Test;

//主要的测试方法
public class LoginTest {
    @Test
    public void login(){
        System.out.println("登录成功");
    }
}

paytest

package com.course.testng.suite;

import org.testng.annotations.Test;

public class payTest {
    @Test
    public void pay(){
        System.out.println("支付成功");
    }
}

suiteconfig:

package com.course.testng.suite;
//写一下共有的类

import org.testng.annotations.AfterSuite;
import org.testng.annotations.AfterTest;
import org.testng.annotations.BeforeSuite;
import org.testng.annotations.BeforeTest;

public class SuiteConfig {
    @BeforeSuite
    public void beforeSuite(){
        System.out.println("Beforesuite运行了");
    }
    @AfterSuite
    public void afterSuite(){
        System.out.println("AfterSuite运行了");
    }


    @BeforeTest
    public void BeforeTest(){
        System.out.println("beforetest方法");
    }

    @AfterTest
    public void AfterTest(){
        System.out.println("AfterTest方法");
    }

}

testng.xml

<?xml version="1.0" encoding="utf-8" ?>
<suite name="test">
    <test name="login">
        <classes>
            <class name="com.course.testng.suite.SuiteConfig"/>
            <class name="com.course.testng.suite.LoginTest"/>
        </classes>
    </test>
    <test name="pay">
        <classes>
            <class name="com.course.testng.suite.SuiteConfig"/>
            <class name="com.course.testng.suite.PayTest"/>
        </classes>
    </test>

</suite>

运行结果:
在这里插入图片描述

改变testng.xml:

<?xml version="1.0" encoding="utf-8" ?>
<suite name="test">
    <test name="login">
        <classes>
            <class name="com.course.testng.suite.SuiteConfig"/>
            <class name="com.course.testng.suite.LoginTest"/>
            <class name="com.course.testng.suite.payTest"/>
        </classes>
    </test>
    <!--<test name="pay">-->
        <!--<classes>-->
            <!--<class name="com.course.testng.suite.SuiteConfig"/>-->
            <!--<class name="com.course.testng.suite.payTest"/>-->
        <!--</classes>-->
    <!--</test>-->
</suite>

运行结果:
在这里插入图片描述
再进一步理解,suite代码也可以直接写在业务代码里:
修改login:

package com.course.testng.suite;

import org.testng.annotations.*;

//主要的测试方法
public class LoginTest {
    @Test
    public void login(){
        System.out.println("登录成功");
    }


    @BeforeSuite
    public void beforeSuite(){
        System.out.println("before testsuite");
    }

    @AfterSuite
    public void afterSuite(){
        System.out.println("after testsuite");
    }

    @BeforeTest
    public void beforeTest(){
        System.out.println("beforeTest");
    }
    @AfterTest
    public void afterTest(){
        System.out.println("afterTest");
    }
}

testng.xml

<?xml version="1.0" encoding="utf-8" ?>
<suite name="test">
    <test name="login">
        <classes>
            <!--<class name="com.course.testng.suite.SuiteConfig"/>-->
            <class name="com.course.testng.suite.LoginTest"/>
            <class name="com.course.testng.suite.payTest"/>
        </classes>
    </test>
    <!--<test name="pay">-->
        <!--<classes>-->
            <!--<class name="com.course.testng.suite.SuiteConfig"/>-->
            <!--<class name="com.course.testng.suite.payTest"/>-->
        <!--</classes>-->
    <!--</test>-->
</suite>

运行结果:
在这里插入图片描述

现在彻底明白testsuite的意思了吧。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值