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