面試被問到了卻沒有用過,很尷尬;今天看了一下,真的是一個(gè)很簡(jiǎn)單的測(cè)試模塊
方便起見,這里直接拿菜鳥教程的介紹和例子過來
開發(fā)高質(zhì)量軟件的方法之一是為每一個(gè)函數(shù)開發(fā)測(cè)試代碼,并且在開發(fā)過程中經(jīng)常進(jìn)行測(cè)試;
doctest模塊提供了一個(gè)工具,掃描模塊并根據(jù)程序中內(nèi)嵌的文檔字符串執(zhí)行測(cè)試;
測(cè)試構(gòu)造如同簡(jiǎn)單的將它的輸出結(jié)果剪切并粘貼到文檔字符串中;
通過用戶提供的例子,它強(qiáng)化了文檔,允許 doctest 模塊確認(rèn)代碼的結(jié)果是否與文檔一致;
def average(values): """Computes the arithmetic mean of a list of numbers. >>> print(average([20, 30, 70])) 40.0 """ return sum(values) / len(values) import doctest doctest.testmod(verbose=True) # doctest.testmod是測(cè)試模塊,verbose默認(rèn)是False,意思是出錯(cuò)才用提示;True,對(duì)錯(cuò)都有執(zhí)行結(jié)果
注意格式,上邊代碼的第三行需要是一個(gè)空行
注:Python中的除法總是返回一個(gè)浮點(diǎn)數(shù)
輸出結(jié)果
Trying: print(average([20, 30, 70])) Expecting: 40.0 ok Trying: print(average([90, 40, 20])) Expecting: 50.0 ok 1 items had no tests: __main__ 1 items passed all tests: 2 tests in __main__.average 2 tests in 2 items. 2 passed and 0 failed. Test passed. [Finished in 0.5s]
可以看到16行,兩個(gè)測(cè)試都通過了
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
