测试框架TestNG:
适合测试人员使用的原因:
- 比JUnit涵盖功能更全面的测试框架
- JUnit更适合隔离性比较强的单元测试
- TestNG更适合复杂的集成测试
单元测试
使用注解:
@Test:运行单个测试方法
@BeforeMethod @AfterMethod :在每个测试方法前(后)都运行的方法
@BeforeClass @AfterClass:在每个测试类前(后)运行的方法
@BeforeSuite @AfterSuite:在每个测试套件(一个套件包含多个类)前(后)运行的方法
忽略测试:暂时不执行的方法
@Test(enable=false)
public void method(){}
套件测试:使用套件控制多个类方法的执行顺序。
xml配置文件suite.xml控制登录、支付顺序
<?xml version="1.0" encoding="UTF-8"?>
<suite name="test">
<test name="login">
<classes>
<class name="com.course.testng.SuiteConfig" />
<class name="com.course.testng.LoginTest" />
</classes>
</test>
<test name="pay">
<classes>
<class name="com.course.testng.SuiteConfig" />
<class name="com.course.testng.PayTest"/>
</classes>
</test>
</suite>
类SuiteConfig:控制在套件前、后运行的方法
import org.testng.annotations.*;
public class SuiteConfig {
@BeforeSuite
public void BeforeSuite() {
System.out.println("BeforeSuite运行了");
}
@AfterSuite
public void AfterSuite() {
System.out.println("AfterSuite运行了");
}
}
类LoginTest控制登录方法
import org.testng.annotations.Test;
public class LoginTest {
@Test
public void loginTB() {
System.out.println("淘宝登录成功");
}
}
类PayTest;控制支付方法
import org.testng.annotations.Test;
public class PayTest {
@Test
public void payTest() {
System.out.println("支付成功");
}
}
执行结果


本文详细介绍了测试框架TestNG的特点及应用,对比JUnit强调其在复杂集成测试中的优势。通过实例展示了如何使用注解来组织测试用例,包括测试方法、前后置条件设置等,并通过XML配置文件实现对测试套件的控制。
6268

被折叠的 条评论
为什么被折叠?



