基於python的unittest測試框架集成到jenkins(Mac)


1.jenkins部分

1.1 安裝jenkins

jenkins下載地址:https://jenkins.io/download/

安裝步驟,瘋狂點擊下一步

1.2 打開jenkins服務

在瀏覽器上輸入127.0.0.1:8080

2.代碼部分

代碼下載地址:https://github.com/taomin1/pyunittest

2.1 目錄架構

-testcase

--testsuite

-case_listener

-test_runner

-README

2.2 test_case

test_case包含多個test_suite,所有的測試用例均寫在這個目錄下,並且以test_suite_**.py命名(原因是jenkins配置時會講到)

test_suite_baidu實例代碼

2.3 caseListener

caseListener是一個裝飾器,作用是在執行case時進行部分操作,比如打印執行開始,或者將執行結果執行結果存儲到數據庫等等

2.4 test_runner

test_runner是執行case的主入口,主要是在jenkins上配置時通過該文件去執行case

3.jenkins配置部分

3.1新建job

3.2 輸入job名字

選擇構建一個自由風哥的軟件項目

3.3 進行git配置,用於jenkins運行時獲取代碼

3.4 進行shell配置

export PATH=/Library/Frameworks/Python.framework/Versions/3.6/bin/

增加環境變量,因為我的本地機器裝了3.6和2.7,代碼是基於3.6編碼的

python3 test_runner.py -p test_suite_**.py

通過test_runner去執行case,執行時回去檢索以test_suite_**.py這種格式的case,所以在之前要求case命名格式要求

-p 是命名符合,在test_runner有源碼,有興趣同學可以詳細看一下

4.結果演示

 

jenkins console顯示為成功,在結果列表展示也為空

5.后續

1. 代碼可以繼續拆分

2.可以集成django和數據庫用於可視化操作

3.HtmlTestRunner安裝

下載后移動到python3安裝目錄下,https://i.cnblogs.com/Files.aspx

修改記錄:

第94行,將import StringIO修改成import io

第539行,將self.outputBuffer = StringIO.StringIO()修改成self.outputBuffer = io.StringIO()

第642行,將if not rmap.has_key(cls):修改成if not cls in rmap:

第766行,將uo = o.decode('latin-1')修改成uo = e

第775行,將ue = e.decode('latin-1')修改成ue = e

第631行,將print >> sys.stderr, '\nTime Elapsed: %s' % (self.stopTime-self.startTime)修改成print(sys.stderr, '\nTime Elapsed: %s' % (self.stopTime-self.startTime))

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM