testcase 的幾個特殊方法:
setup():測試方法之前執行,測試前的初始化;
teardown():測試結束後執行,測試後的清理工作;
setupclass():所以測試方法執行前執行 ,單元測試的前期準備,必須使用@classmethod 裝飾器進行修飾,setup()之前執行。整個測試只執行一次。
teardownclass():所以測試方法執行結束後執行,單元測試的清理工作,必須使用@classmethod 裝飾器進行修飾,teardown()之後執行,整個測試只執行一次。
1.加上測試集合可以批量執行同乙個檔案.py下的多個測試用例: testsuit
if__name__ == '__main__' :
testcase1 = unittest.testload().loadtestsfromtestcase(測試類名字1)
testcase2 = unittest.testload().loadtestsfromtestcase(測試類名字2)
suit = unittest.testsuit([testcase1,testcase2 ])
unittest.texttestrunner(verbosity=2).run(suit)
備註:verbosity<=0;輸出的結果不提示執行成功的用例數目;
verbosity =1,輸出結果僅僅以點(.)表示執行成功的用例數目;
verbosity >=2,輸出每個用例的執行的詳細資訊;
testrunner.run() 返回乙個testresult實力物件,其存放著所有測試用例的執行過程的資訊,可以通過dir()方法檢視。
.texttestrunner.run() 以文字的方式
2. 按照特定的順序執行測試用例
unittest.main()是以所有方法名的字串ascii排序執行,可以通過把測試用例新增到測試容器裡執行;
if __name__ = '__main__'
suit =unittest.testsuit()
suit .addtest(類名("方法"))
suit .addtest(mytest("test_add"))
suit .addtest(mytest("test_div"))
runner= unittest.texttestrunner()
runner.run(suit)
3.忽略莫個測試方法 @unittest.skip()
在測試方法前之前 執行@unittest.skip(「skipng」)無條件的忽略
@unittest.skip(a>8,"條件不滿足"):如果a >8,則忽略;
4.命令列模式執行測試用例
python -m unittest test_model1 test_model2
python -m unittest test_model.testclass
python -m unittest test_model.testclass.test_method
5.批量執行測試模組
程式檔案執行:
if __name__ = '__main__'
testsuit= unittest.testload().discover('.') #載入當前目錄下的有效的測試模組,「.」表示當前的目錄;檔案名字以test 開頭
unittest.texttestrunner(verbosity=2).run(testsuit)
命令列執行:
python -m unittest discover #目錄需要切換到存放指令碼的目錄下;
discover 的一些引數:
-v :輸出詳細的資訊;
-s:發現指令碼的目錄;
-p:匹配莫個測試檔案:python -m unittest discover -p "test * .py"
-t:工程的跟目錄下的搜尋可以執行的測試指令碼:例如:python -m unittest discover -t d:\wew\ewe
6.使用html testrunner 生成html的測試報告
filename="d:\\ly.html"
fp =file(filename,'wb')
runner = html testrunner .html testrunner (stream=fp,title='report title',description =『report_description』)
runner.run(suit)
單元測試 單元測試文章收藏
前言 前段時間公司計畫做自動化測試,自己也打算圍繞幾個點做相關調研,現在想想呢?其實對自動化測試的概念都還不是十分清晰,當時主要還是圍繞 單元測試 向qa小夥伴學習了一段時間,現由於公司重組,學習中斷,這裡簡單記錄一些單元測試好文,留待後續參考.什麼叫自動化測試?自動化測試覆蓋率?覆蓋率如何做到的?...
單元測試之Django單元測試
每個應用,自帶tests.py 整合在django的專案檔案裡,更多是開發人員寫django自動的測試執行 3.1 前後置方法執行特點 django.test.testcase類主要由前 後置處理方法和test開頭的方法組成 特點 繼承於django.test.testcase 測試用例都是test...
單元測試(三) 建立多執行緒單元測試
junit本是不支援多執行緒的,乙個單元測試case主程序跑完,其他new出來的執行緒都會gg思密達。此篇mark乙份在junit中執行多執行緒的方法。net.sourceforge.groboutils groboutils core 5test slf4j public class device...