为了可以在jenkins自动化运行单元测试的代码,所以使用maven+testng的技术结合,达到手动或者定时去执行单元测试的代码,以便提高人工运行的自动化的效率。单元通过该方案也可以套用在httpclient框架去执行测试web api接口的自动化测试,原理是一致的。
https://maven.apache.org/download.cgi
创建测试项目时,以maven类型项目创建
- <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>jenkins.testng.demo</groupId>
- <artifactId>TestDemo</artifactId>
- <version>0.0.1-SNAPSHOT</version>
- <packaging>jar</packaging>
-
- <name>TestDemo</name>
- <url>http://maven.apache.org</url>
-
- <properties>
- <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- </properties>
-
- <build>
- <plugins>
- <!-- 加入maven-surefire-plugin插件用来使用maven执行用例,其中suiteXmlFile配置的就是testNG用例执行文件的地址 -->
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <version>3.0.0-M5</version>
- <configuration>
- <!-- 忽略测试错误,继续编译 -->
- <testFailureIgnore>true</testFailureIgnore>
- <suiteXmlFiles>
- <suiteXmlFile>src/main/java/jenkins/testng/demo/TestngSample/testng.xml</suiteXmlFile>
- </suiteXmlFiles>
- <!-- 加入编码设置,否则生成的报告会中文乱码 -->
- <argLine>-Dfile.encoding=UTF-8</argLine>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
-
- <dependencies>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>3.8.1</version>
- <scope>test</scope>
- </dependency>
-
- <!-- https://mvnrepository.com/artifact/org.apache.maven.plugins/maven-surefire-plugin -->
- <dependency>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <version>3.0.0-M5</version>
- </dependency>
-
- <!-- https://mvnrepository.com/artifact/org.apache.maven/maven-plugin-api -->
-
- <dependency>
- <groupId>org.apache.maven</groupId>
- <artifactId>maven-plugin-api</artifactId>
- <version>3.6.3</version>
- </dependency>
-
- <!-- https://mvnrepository.com/artifact/org.apache.maven/maven-artifact -->
- <dependency>
- <groupId>org.apache.maven</groupId>
- <artifactId>maven-artifact</artifactId>
- <version>3.6.3</version>
- </dependency>
-
-
- <!-- https://mvnrepository.com/artifact/org.apache.maven.plugins/maven-compiler-plugin -->
- <dependency>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <version>3.8.1</version>
- </dependency>
-
- <!-- https://mvnrepository.com/artifact/org.apache.maven.plugin-tools/maven-plugin-annotations -->
- <dependency>
- <groupId>org.apache.maven.plugin-tools</groupId>
- <artifactId>maven-plugin-annotations</artifactId>
- <version>3.6.0</version>
- <scope>provided</scope>
- </dependency>
-
-
- <!-- https://mvnrepository.com/artifact/org.testng/testng -->
- <dependency>
- <groupId>org.testng</groupId>
- <artifactId>testng</artifactId>
- <version>7.1.0</version>
- <scope>test</scope>
- </dependency>
-
-
- <!-- https://mvnrepository.com/artifact/org.uncommons/reportng -->
- <dependency>
- <groupId>org.uncommons</groupId>
- <artifactId>reportng</artifactId>
- <version>1.1.4</version>
- <scope>test</scope>
- </dependency>
-
- </dependencies>
- </project>
- package jenkins.testng.demo.TestngSample;
- import static org.testng.Assert.assertEquals;
- import org.testng.annotations.Test;
-
- public class TestDemong {
-
- @Test
- public void demo() {
- assertEquals(true, true);
-
- }
-
- @Test
- public void demo2() {
- assertEquals(true, true);
-
- }
-
- }
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE suite SYSTEM "https://testng.org/testng-1.0.dtd" >
- <suite name="test">
- <test name="test">
- <classes>
- <class name="jenkins.testng.demo.TestngSample.TestDemong">
- </class>
- </classes>
- </test>
- <listeners>
- <listener class-name="org.uncommons.reportng.HTMLReporter" />
- <listener
- class-name="org.uncommons.reportng.JUnitXMLReporter" />
- </listeners>
- </suite>
配置jenkins





运行查看

