作为一个经典的入门例子,这里展示如何开始使用TestNG
单元测试框架。
使用的工具 :
- TestNG 6.8.7
- Maven 3
- Eclipse IDE
TestNG下载并安装
从这里 http://testng.org/doc/download.html 下载当前版本的TestNG,打开zip分发来获取TestNG解压缩文件,其中包含以下子文件:
-
Testng-6.jar
(请直接添加到您的项目中,也可能无法仅使用此jar来成功构建代码,因为TestNG官方版本不包括所有外部jar文件,以减少包的大小) - 文档(TestNG教程资料)
- 示例代码
- Testng 源代码
- Readme文档
对于初学者,强烈建议您从示例代码和文档开始和编写TestNG。
如果您使用Eclipse IDE,建议按照以下方法插件,建议使用更新站点:
对于Eclipse 3.4及更高版本,请输入 http://beust.com/eclipse
对于Eclipse 3.3及更低版本,请输入 http://beust.com/eclipse1
在Eclipse插件中安装如下 -
实例
打开 Eclipse创建一个 Maven 项目,其项目结构如下所示 -
1. TestNG依赖关系
在pom.xml
中添加TestNG库,如下代码所示 -
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.yiibai</groupId>
<artifactId>TestHelloWorld</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>TestHelloWorld</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.8.7</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
2. TestNG示例
在com.yiibai
包上创建一个 TestNg 类,如下图所示 -
选择 TestNG class如下图所示 -
写入类的名称:TestHelloWorld,如下所示 -
文件:TestHelloWorld.java
代码如下 -
package com.yiibai;
import org.testng.Assert;
import org.testng.annotations.Test;
public class TestHelloWorld {
@Test()
public void testEmailGenerator() {
RandomEmailGenerator obj = new RandomEmailGenerator();
String email = obj.generate();
Assert.assertNotNull(email);
Assert.assertEquals(email, "feedback@yiibai.com");
}
}
再创建一个简单的Java类,它在方法中返回一个固定电子邮件: “feedback@yiibai.com
”.
文件:RandomEmailGenerator.java
代码如下 -
package com.yiibai;
//import org.springframework.stereotype.Service;
public class RandomEmailGenerator {
public String generate() {
return "feedback@yiibai.com";
}
}
完成后,创建一个简单的TestNG测试用例,此测试确保RandomEmailGenerator.generate()
始终返回“feedback@yiibai.com
”。
3. TestNG Eclipse插件
要在Eclipse IDE中运行以上测试,您需要安装TestNG Eclipse插件。 按照官方的TestNG Eclipse插件指南进行安装。
要运行TestNG测试,请右键单击测试类(TestHelloWorld.java
)并运行“TestNG Test”。
输出结果如下 -
[TestNG] Running:
C:\Users\Administrator\AppData\Local\Temp\testng-eclipse-1570064410\testng-customsuite.xml
PASSED: testEmailGenerator
===============================================
Default test
Tests run: 1, Failures: 0, Skips: 0
===============================================
===============================================
Default suite
Total tests run: 1, Failures: 0, Skips: 0
===============================================
[TestNG] Time taken by org.testng.reporters.XMLReporter@1b40d5f0: 13 ms
[TestNG] Time taken by org.testng.reporters.SuiteHTMLReporter@6ea6d14e: 99 ms
[TestNG] Time taken by org.testng.reporters.EmailableReporter2@4563e9ab: 6 ms
[TestNG] Time taken by [FailedReporter passed=0 failed=0 skipped=0]: 0 ms
[TestNG] Time taken by org.testng.reporters.jq.Main@2aaf7cc2: 55 ms
[TestNG] Time taken by org.testng.reporters.JUnitReportReporter@45c8e616: 4 ms