(一)TestNG介绍与安装
1、介绍
TestNG 官网地址:http://testng.org/doc/
TestNG是一个测试框架的灵感来自JUnit和NUnit,但引入一些新的功能,使它更强大和更容易使用,如:
- 注释。
- 在任意大线程池中运行测试,并提供各种策略(所有方法都在自己的线程中,每个测试类有一个线程,等等)。
- 测试你的代码多线程是安全的。
- 灵活的测试配置。
- 数据驱动的测试支持(@dataProvider)。
- 参数支持。
- 强大的执行模型(不再有TestSuite)。
- 通过各种工具和插件支持(Eclipse, IDEA, Maven 等..)。
- 通过进一步的灵活性Beanshell。
- 运行时和日志的默认JDK功能(无依赖性)。
- 应用服务器测试的相关方法。
- TestNG 表示下一代(Next Generation的首字母)。它的设计覆盖所有类别的测试:单元、功能、端到端、集成等。
2、安装
本教程基于 IntelliJ IDEA 和 Maven ,所以,这里只介绍 Maven 的安装方式。
<!-- https://mvnrepository.com/artifact/org.testng/testng -->
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.13</version>
<scope>test</scope>
</dependency>
(二)第一个测试用例
1、第一个测试用例
通过 IntelliJ IDEA 创建 FirstTest 测试类。编写如下代码:
import org.testng.annotations.Test;
import static org.testng.AssertJUnit.assertEquals;
public class FirstTest {
@Test
public void testCase(){
assertEquals(2+2, 4);
}
}
通过 @Test 注解一个方法为测试用例。
通过 assertEquals() 方法来断言两个数是否相等。
运行测试:
===============================================
Default Suite
Total tests run: 1, Failures: 0, Skips: 0
===============================================
我们先感官上对TestNG使用有一个初步认识。
(三)TestNG 之 FixTrue
1、什么是Fixture
Test Fixture 是指一个测试运行所需的固定环境,准确的定义:
The test fixture is everything we need to have in place to exercise the SUT
在进行测试时,我们通常需要把环境设置成已知状态(如创建对象、获取资源等)来创建测试,每次测试开始时都处于一个固定的初始状态;测试结果后需要将测试状态还原,所以,测试执行所需要的固定环境称为 Test Fixture。
2、TestNG 提供的Fixture 方法
表:
注解 | 说明 |
---|---|
@BeforeSuite | 注解的方法在测试套件(中的所有用例)开始前运行一次 |
@AfterSuite | 注解的方法在测试套件(中的所有用例)结束后运行一次。 |
@BeforeClass | 注解的方法在当前测试类(中所有用例)开始前运行一次。 |
@AfterClass | 注解的方法在当前测试类(中所有用例)结束后运行一次。 |
@BeforeTest | 对于套件测试,在运行属于标签内的类的所有测试方法之前运行。 |
@AfterTest | 对于套件测试,在运行属于标签内的类的所有测试方法之后运行。 |
@BeforeGroups | 在调用属于该组的所有测试方法之前运行。 |
@AfterGroups | 在调用属 |