1. 概述
在本教程中,我们将学习如何在 Jenkins 上运行使用 TestNG 编写的测试任务。
我们会重点关注以下几个方面:
- 在 GitHub 项目中集成 TestNG 框架
- 本地搭建 Jenkins 环境
- 配置 Jenkins job 执行测试
- 查看测试报告与趋势分析
最终目标是实现自动化执行 TestNG 测试,并通过 Jenkins 的可视化界面查看执行结果。
2. 环境准备
首先,我们需要在 Maven 项目中引入 TestNG 的依赖。在 pom.xml
中添加如下内容:
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>7.6.1</version>
<scope>test</scope>
</dependency>
如果你使用的是 Eclipse,建议从 Eclipse Marketplace 安装 TestNG 插件,这样可以更方便地编写和运行测试用例。
3. 编写 TestNG 测试
我们可以通过 @org.testng.annotations.Test
注解来编写测试方法。例如:
@Test
public void givenNumber_whenEven_thenTrue() {
assertTrue(number % 2 == 0);
}
接着,我们可以在 src/test/resources
目录下创建一个 TestNG 的 XML 配置文件(例如 test_suite.xml
),用于指定运行哪些测试类:
<suite name="suite">
<test name="test suite">
<classes>
<class name="com.baeldung.SimpleLongRunningUnitTest" />
</classes>
</test>
</suite>
为了确保 Maven 在构建时使用这个 TestNG 套件,我们还需要在 pom.xml
中配置 maven-surefire-plugin
插件:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<suiteXmlFiles>
<suiteXmlFile>
src/test/resources/test_suite.xml
</suiteXmlFile>
</suiteXmlFiles>
</configuration>
</plugin>
4. 本地运行 TestNG 测试
我们可以使用如下命令构建并运行测试:
mvn clean install
✅ 也可以通过 -P
参数指定 Maven 的 profile,例如:
mvn clean test install -Pdefault-second
运行结果会显示测试是否通过、总共运行了多少个测试,以及失败或跳过的数量。
5. 本地部署 Jenkins
Jenkins 是一个开源的持续集成服务器,可以用于自动化构建、测试和部署任务。我们将使用 Jenkins 来运行我们的 TestNG 测试。
5.1. 下载与安装 Jenkins
- Linux:参考 Linux 安装指南
- Windows:参考 Windows 安装指南
- macOS:使用 Homebrew 安装:
brew install jenkins
5.2. 启动 Jenkins 并配置 Dashboard
启动 Jenkins 的命令如下:
/usr/local/opt/jenkins/bin/jenkins --httpListenAddress=127.0.0.1 --httpPort=8080
启动后,访问 http://127.0.0.1:8080,输入初始密码后进入插件安装界面。
安装完成后,设置管理员账户和 Jenkins URL(可选)。
5.3. 安装 Maven 与 GitHub 插件
进入 Jenkins 的 Manage Jenkins > Global Tool Configuration 页面,启用 Maven 的自动安装功能:
然后在 Manage Jenkins > Manage Plugins 页面中搜索并安装以下插件:
- GitHub Integration
- Maven Integration
安装完成后,Jenkins 就具备了与 Maven 和 GitHub 集成的能力。
5.4. 配置 Jenkins Job
创建一个 Maven Project 类型的 job:
- 勾选 GitHub project 并填写项目地址
- 在 Source Code Management 中选择 Git 并填写仓库地址和分支
- 在 Build 部分指定
pom.xml
的路径和 Maven 命令,例如:
clean test install -Pdefault-second
保存配置后点击 Build Now 开始构建。
5.5. 查看构建日志与测试报告
点击构建任务编号后,选择 Console Output 可查看详细构建日志:
Jenkins 还会自动生成测试结果趋势图,便于我们分析测试稳定性:
6. 总结
本文介绍了如何在 Jenkins 上配置并运行 GitHub 项目中的 TestNG 测试任务,包括:
- Maven 项目集成 TestNG
- Jenkins 本地部署与插件配置
- 创建 Jenkins job 并运行测试
- 查看构建日志与测试趋势图
通过 Jenkins,我们可以实现 TestNG 测试的自动化执行与结果可视化,提升测试效率和 CI/CD 流程的可靠性。
完整示例代码可参考:GitHub 仓库