Python單元測試unittest

2021-09-21 18:45:19 字數 1257 閱讀 4264

python中有乙個自帶的單元測試框架是unittest模組,用它來做單元測試,它裡面封裝好了一些校驗返回的結果方法和一些用例執行前的初始化操作。

在說unittest之前,先說幾個概念:

testcase 也就是測試用例

testsuite 多個測試用例集合在一起,就是testsuite

testloader是用來載入testcase到testsuite中的

testrunner是來執行測試用例的,測試的結果會儲存到testresult例項中,包括執行了多少測試用例,成功了多少,失敗了多少等資訊

下面寫乙個簡單的單元測試用例

下面是一些常用的斷言,也就是校驗結果

那如何生成乙個測試報告呢,需要加入另外乙個模組了,htmltestrunner,這個模組需要自己安裝,使用執行測試用例就會生成乙個html的測試報告,裡面會有每個測試用例的執行結果,**如下:

如果我們有很多個模組,每個模組下面都寫了很多python檔案,每個python檔案裡面都有測試用例,那怎麼把這個目錄下的用例都執行了呢,就要先找到這個目錄下的所有python檔案,然後找到裡面的測試用例,逐個執行,**如下:

我們在後續進行持續整合的時候,要讓**自動執行,就會用到jenkins了,但是上面產生的測試報告都是html格式的,jenkins不認識,就在jenkins裡面顯示不出來。那咱們就要產生一些jenkins認識的測試報告,jenkins認識xml格式的報告,那咱們就產生xml格式的唄,就需要用乙個新的模組,xmlrunner,安裝直接 pip install xmlrunner即可,**如下:

然後咱們執行,可以看到在report目錄下已經產生了xml格式的報告了,而且還自動把日期加上了

Python 單元測試

一 假設我們編寫了一段程式,主要功能是完成阿拉伯數字和羅馬數字之間的轉換 在羅馬數字中,利用7個字母進行重複或者組合來表達各式各樣的數字 i 1 v 5 x 10 l 50 c 100 d 500 m 1000 還有一些關於構造羅馬數字的規則。此程式的框架如下 其中,class romanerror...

python 單元測試

assertequal a,b assertnotequal a,b 斷言值是否相等 assertis a,b assertisnot a,b 斷言是否同一物件 記憶體位址一樣 assertlistequal list1,list2 assertitemnotequal list1,list2 斷言...

Python單元測試

本文章整理自 使用python3.6編寫乙個單元測試demo,例如 對學生student類編寫乙個簡單的單元測試。1 編寫student類 usr bin env python3 coding utf 8 class student object def init self,name,score s...