Jenkins+Maven+TestNg執行單元測試
Jenkins+Maven+TestNg執行單元測試
環境資訊: github
Jenkins:華為雲搭建,個人建議,jenkins的版本高一點,因為很多外掛在低版本的Jenkins上都沒辦法安裝,我原來的版本是jenkins-2.222.1-1.1.noarch.rpm,後來重灌成了jenkins-2.263.2-1.1.noarch.rpm才可以
安裝單元測試外掛
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.10</version>
<scope>compile</scope>
</dependency>
下面的
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.0</version>
<configuration>
<argLine>-Dfile.encoding=UTF-8</argLine>
<suiteXmlFiles>
<!--suppress UnresolvedMavenProperty -->
<suiteXmlFile>${xmlFileName}</suiteXmlFile>
</suiteXmlFiles>
</configuration>
</plugin>
編寫測試用例
準備兩個測試用例,分別寫在兩個不同的testng.xml檔案裡
package com.newcrud.testngTest;
import org.testng.Assert;
import org.testng.annotations.Test;
public class TestFour {
@Test
public void testA() {
System.out.println("testA");
Assert.assertEquals(1,1);
}
@Test
public void testB(){
System.out.println("testB");
Assert.assertEquals(1,1);
}
}
package com.newcrud.testngTest;
import org.testng.annotations.*;
public class TestTwo {
@Test
public void testOne(){
System.out.println("TestTwo的testOne");
}
}
編寫testng.xml
testng.xml
```
testng2.xml
```
提交程式碼到github
為什麼這個單獨要寫,是因為遇到了下面這個問題
Support for password authentication was removed on August 13, 2021
解決辦法傳送門: 傳送門
jenkins新增git+maven+java
系統管理->全域性工具配置 分別配置git、maven、jdk
jdk
java_home獲取方法
[[email protected] local]# cat /etc/profile
git
路徑獲取方法:
[[email protected] local]# whereis git
git: /usr/bin/git /usr/share/man/man1/git.1.gz
maven
同jdk獲取方式
M2_HOME和MAVEN_HOME
有的教程裡說的是獲取MAVEN_HOME,其實MAVEN_HOME是低版本的maven的配置,M2_HOME是高版本的maven的配置,現在大部分都是高版本的maven
jenkins配置github的使用者
安裝GitHub plugin外掛
首先,下載外掛GitHub plugin,為什麼要下載GitHub plugin,是因為這個外掛會把github依賴的外掛都下載下來。 由於我這個已經下載過了,所以就展示不出來了 下載安裝重啟Jenkins,檢查時候安裝成功 不知道為什麼,精確搜尋都不展示在第一位,而是展示在後面
獲取github的token
最後提交
配置github賬戶
API URL:http://api.github.com/ 連線測試,試試憑證是否可用
安裝maven外掛: Maven Integration plugin
安裝方法同GitHub plugin,有的教程也說安裝Maven Integration,但是我安裝的Maven Integration plugin,也沒問題,不影響使用,如果不安裝這個外掛的話,就沒辦法構建maven專案
新建maven專案
新建專案
配置github的url
這個url可以通過將github對應專案的clone地址獲取
例如
http://github.com/zhangyinrainbow/NewCRUD.git
然後將.git刪除掉
丟棄舊的構建
其實這個可以不配置,但是為了節省主機的空間,最好配置一下,我就看了一下公司的專案,也是有這個配置的
引數化構建
這裡是為了這樣一個場景,比如我們有好幾個testng.xml,那我們就可以通過這個引數來控制maven執行的是哪個xml檔案。更靈活一些。
配置git專案
Credentials就是在配置github的時候新建的憑證。 原始碼庫瀏覽器的作用是會在配置完成後會在專案上有這樣一個東西 點選後進入專案的github
構建觸發器
這個的作用就是控制什麼時候jenkins會執行,但是我們暫時手動就可以,而且公司的專案也是手動的,我這裡就也取消了。
Build
由於我們只是執行單元測試,並不需要打包上傳之類的操作,所以只需要clean test即可。
儲存,配置工作大功告成
測試一下功能是否正確
首先宣告,從咱們中國連線github太難了,以至於我構建10次有的時候才成功一次,就是因為連線超時
第一次測試執行: testng.xml 測試通過,與testng.xml配置的TestFour測試類結果一致 再來測試一下testng2.xml的TestTwo測試類結果保持一致。 結果和testng2.xml配置的
\