1、Autotest
Autotest是Google、Redhat、IBM公司聯合開發的分布式自動化測試框架,兼顧軟硬件測試。基于Python,用于操作系統內核冒煙測試、服務器硬件驗證等。使用Autotest有兩個前提:被測機上需安裝Python;測試發起機器與被測機間要建立無密碼SSH信任關系。
2、Testoob
testoob是一個針對python的高級單元測試框架。它集成了現有的PyUnit(模塊“UNITTEST”)測試套件,便于使用和進行擴展。目前使用人數和社區生態均較少。
3、Doctest
doctest是一個Python發行版自帶的標準模塊,利用文檔的形式模擬代碼的執行操作。采用交互式會話的Python代碼片段,測試執行并驗證結果,代碼和測試用例沒有進行分離。
4、TheHaskellTestFramework
允許一種簡單方便的方式進行黑匣子測試,自動收集測試定義的自定義預處理器。預處理器允許用準確的文件名和行號信息報告失敗的測試用例。可以為失敗的測試生成高度可讀的輸出,目前用于單元測試使用人數較少。
5、TwistedTrial
對PyUnit的擴展,trial是Twisted的測試腳本程序,針對Linux的,編譯好的trial在Windows下無法直接運行,前用于單元測試使用人數較少。
6、ShouldDSL
分布式測試工具,應用較少。
7、Green
Python測試運行程序,應用于單元測試人數較少。
8、Mock
Python用于支持單元測試的庫,它的主要功能是使用mock對象替代掉指定的Python對象,以達到模擬對象的行為,然后驗證后續的執行是否正確。在進行單元測試的時候,可以指定任何對象的返回值,便于測試對外部接口有依賴的代碼(導入型代碼)。從Python3.3開始,mock模塊已經被合并到標準庫中,被命名為unittest.mock,可以直接進行使用。
9、MOX
Python的基于mock的單元測試框架。應用案例和使用人數相對較少。
10、Tox
通用的虛擬環境管理和測試命令行工具。tox能夠讓我們在同一個Host上自定義出多套相互獨立且隔離的python環境。用于運行靜態代碼分析、測試工具和自動化程序包構建,但應用單元測試較少。
11、Pytest
pytest是根據MIT許可的條款發行的免費和開源軟件。
pytest是Python另一個第三方單元測試庫。它的目的是讓單元測試變得更容易,并且也能擴展到支持應用層面復雜的功能測試。pytest兼容unittest框架的代碼,可以用來運行unittest測試用例。
pytest的特性有:
1)支持用簡單的assert語句實現豐富的斷言,無需復雜的self.assert*函數。
2)自動識別測試模塊和測試函數。
3)兼容unittest和nose測試集。
4)支持Python3和PyPy3。
5)豐富的插件生態,已有300多個各式各樣的插件,和活躍的社區。
用例編寫:pytest支持函數、測試類形式的測試用例。并且可以方便地使用assert語句進行斷言,不用擔心在nose或unittest中產生的缺失詳細上下文信息的問題。
用例發現和執行:unittest和nose所支持的用例發現和執行能力,pytest均支持。pytest支持用例自動(遞歸)發現:
默認發現當前目錄下所有符合test_*.py或*_test.py的測試用例文件中,以test開頭的測試函數或以Test開頭的測試類中的以test開頭的測試方法。執行指定用例:指定測試文件路徑
以上內容為大家介紹了python的單元測試框架,希望對大家有所幫助,如果想要了解更多Python相關知識,請關注IT培訓機構:千鋒教育。http://www.dietsnews.net/