unittest編寫並運行測試用例


一、unittest編寫測試用例

        1、導入unittest包

         

 

 

        2、編寫測試類繼承unittest.TestCase父類

        

 

 

        3、編寫測試用例,測試用例是必須以test開頭(test不是固定的,也可以修改源碼為其他開頭)、測試方法使用assert斷言來判斷測試結果是否通過

        

 

 

 

二、運行測試用例的幾種方法

1、通過unittest.main()來執行測試用例的方式:

方便將一個單元測試模塊變為可直接運行的測試腳本,main()方法使用TestLoader類來搜索所有包含在該模塊中以“test”命名開頭的測試方法,並自動執行他們。執行方法的默認順序是:根據ASCII碼的順序加載測試用例,數字與字母的順序為:0-9,A-Z,a-z。所以以A開頭的測試用例方法會優先執行,以a開頭會后執行

缺點:只能執行當前模塊的測試用例,如果有多個模塊的話就不能用這種方式;

2、通過testsuit的addtest()方法將測試用例加載到測試套件中,用TexttestRunner()的run方法來執行測試用例

優點:可以指定測試用例運行的順序(按照加載的順序);可以運行多個模塊中指定的測試用例

缺點:測試用例比較多的時候一個一個添加就不現實了

 

 3、通過TestLoader加載測試用例,添加到測試套件、執行測試用例

優點:直接將測試類添加到測試套件中,比一個一個用例去添加強,可以運行指定的測試類

缺點:測試類較多的時候,一個類一個類添加的話也不方便

 

 4、通過discover方法批量加載運行測試用例

    defaultTestLoader()類下面的discover()方法可自動根據測試目錄start_dir匹配查找測試用例文件(test*.py),並將查找到的測試用例組裝到測試套件,因此可以直接通過run()方法執行discover

 

discover=unittest.defaultTestLoader.discover(case_dir,pattern="test*.py",top_level_dir=None)

 

 1.discover方法里面有三個參數:

 

-case_dir:這個是待執行用例的目錄。

 

-pattern:這個是匹配腳本名稱的規則,test*.py意思是匹配test開頭的所有.py文件。

 

-top_level_dir:這個是頂層目錄的名稱,一般默認等於None就行了。

優點:批量加載指定目錄下的所有測試用例,適用於測試模塊比較多的情況

缺點:不能指定測試用例順序

 

 5、使用HTMLTestRunner生成測試報告

     具體使用參考文檔鏈接:https://www.cnblogs.com/yoyoketang/p/6680503.html

 

 


免責聲明!

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



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