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