Python 中有哪些測(cè)試框架,相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。
10年積累的成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶(hù)對(duì)網(wǎng)站的新想法和需求。提供各種問(wèn)題對(duì)應(yīng)的解決方案。讓選擇我們的客戶(hù)得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站設(shè)計(jì)后付款的網(wǎng)站建設(shè)流程,更有阿圖什免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
對(duì)于 zope.testing 框架,您會(huì)發(fā)現(xiàn) Zope 社區(qū)有一些有意思的現(xiàn)象。Zope 社區(qū)并不為解決每個(gè)問(wèn)題構(gòu)建大型工具。而是構(gòu)建小型的功能有限的工具,這些工具能夠連接在一起。目前,zope.testing 模塊本身實(shí)際上根本沒(méi)有提供檢測(cè)測(cè)試的機(jī)制!
相反,zope.testing 讓程序員自己尋找每個(gè)模塊中需要運(yùn)行的測(cè)試并把它們集中在一個(gè)列表中。它在每個(gè)測(cè)試模塊中只尋找一個(gè)東西:test_suite() 函數(shù),這個(gè)函數(shù)應(yīng)該返回標(biāo)準(zhǔn) unittest.TestSuite 類(lèi)的實(shí)例,其中包含模塊定義的測(cè)試。
使用 zope.testing 的一些程序員在 test_suite() 函數(shù)中手工地創(chuàng)建和維護(hù)測(cè)試列表。其他程序員通過(guò)編寫(xiě)定制代碼發(fā)現(xiàn)已經(jīng)定義的可用測(cè)試。但是,最有意思的方法是使用另一個(gè) Zope 包 z3c.testsetup,它能夠像其他現(xiàn)代 Python 測(cè)試框架一樣自動(dòng)地發(fā)現(xiàn)包中的測(cè)試。
這一現(xiàn)象再次說(shuō)明 Zope 程序員傾向于編寫(xiě)小型代碼塊,然后使用它們構(gòu)建框架,而不是編寫(xiě)大型的全面解決方案。z3c.testsetup 包不包含可以選擇測(cè)試的命令行界面,也不包含可以顯示測(cè)試結(jié)果的輸出模塊;它完全依靠 zope.testing 實(shí)現(xiàn)這些功能。
實(shí)際上,z3c.testsetup 用戶(hù)一般不使用 zope.testing 的測(cè)試模塊發(fā)現(xiàn)功能。相反,他們繞開(kāi) zope.testing 的算法。按照它的默認(rèn)行為只尋找名為 test.py 的模塊,然后在整個(gè)源代碼樹(shù)中只提供一個(gè)采用此名稱(chēng)的模塊。在最簡(jiǎn)單的情況下,他們的 test.py 像下面這樣:
class Category(models.Model): id = models.AutoField('id', primary_key=True) name = models.CharField(maxlength=50) code = models.CharField(maxlength=50) parentCategory = models.ForeignKey('self', 'id', null=True) enable = models.BooleanField() def __str__(self): return self.name class Admin: list_display = ('id', 'name', 'code', 'parentCategory')
這完全不通過(guò) zope.testing 執(zhí)行測(cè)試發(fā)現(xiàn)任務(wù),而是依靠Python測(cè)試框架本身提供的更強(qiáng)大的發(fā)現(xiàn)機(jī)制??梢韵?register_all_tests() 函數(shù)提供幾個(gè)配置選項(xiàng)。詳細(xì)信息請(qǐng)參見(jiàn) z3c.testsetup 文檔,這里只需要介紹它的基本行為。與本文討論的其他框架不同,z3c.testsetup 在默認(rèn)情況下不關(guān)心包中每個(gè) Python 模塊的名稱(chēng),而是關(guān)注它的內(nèi)容。
它檢查所有模塊以及包中的所有 .txt 或 .rst 文件,選擇文本中指定了 :Test-Layer: 的文件。然后,它組合模塊中的所有 TestCase 和文本文件中的所有 doctest 部分,形成測(cè)試套件。
***注意,Zope 測(cè)試框架只支持 UnitTest 實(shí)例或 doctest。正如本系列的***篇文章中討論的,更現(xiàn)代的 Python 測(cè)試框架還支持一般的 Python 函數(shù)作為有效測(cè)試。
看完上述內(nèi)容,你們掌握Python 中有哪些測(cè)試框架的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
新聞名稱(chēng):Python中有哪些測(cè)試框架
標(biāo)題鏈接:http://redsoil1982.com.cn/article38/gssdpp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作、網(wǎng)站建設(shè)、網(wǎng)站策劃、品牌網(wǎng)站設(shè)計(jì)、定制開(kāi)發(fā)、品牌網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)