>>square(2)>>>square(3)'''returnx*xif__name__=='__main__':importdoctest,mymathdoctes" />

日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Python單元測(cè)試工具doctest和unittest使用解析

系統(tǒng) 1767 0

Python標(biāo)準(zhǔn)庫包含兩個(gè)測(cè)試工具。

doctest:一個(gè)簡(jiǎn)單的模塊,為檢查文檔而設(shè)計(jì),但也適合用來編寫單元測(cè)試。

unittest:一個(gè)通用的測(cè)試框架。

一、使用doctest進(jìn)行單元測(cè)試

創(chuàng)建文件mymath.py,內(nèi)容

            
def square(x):
  '''
  計(jì)算平方并返回結(jié)果(下面是單元測(cè)試的格式)
  >>> square(2)
  >>> square(3)
  '''
  return x * x
if __name__ == '__main__':
  import doctest,mymath
  doctest.testmod(mymath)
          

在Sublime Text 3中運(yùn)行只是提示[Finished in 0.2s]。

在cmd命令下切換到mymath.py所在目錄,運(yùn)行python mymath.py -v后,有提示測(cè)試詳細(xì)信息,測(cè)試通過。如下圖:

Python單元測(cè)試工具doctest和unittest使用解析_第1張圖片

把函數(shù)square里面的return x * x 改成 return x / x。

再次運(yùn)行python mymath.py -v,提示測(cè)試不通過,如下圖:

Python單元測(cè)試工具doctest和unittest使用解析_第2張圖片

二、使用unittest進(jìn)行單元測(cè)試

還是用mymath.py測(cè)試,內(nèi)容:

            
def square(x):  
  return x * x
          

新建單元測(cè)試文件test_math.py,內(nèi)容:

            
import unittest, mymath
class mathTestCase(unittest.TestCase):  
  def test_square(self):    
    self.assertEqual(mymath.square(2), 4)
    self.assertEqual(mymath.square(3), 9)
if __name__ == '__main__':
  unittest.main()
          

運(yùn)行后,顯示OK 測(cè)試通過。

            
.
----------------------------------------------------------------------
Ran 1 test in 0.000s

OK
          

把函數(shù)square里面的return x * x 改成 return x / x。

再次運(yùn)行,這次顯示FAILED 測(cè)試不通過。

            
F
======================================================================
FAIL: test_square (__main__.mathTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
 File "D:\projects\python\test_math.py", line 6, in test_square
  self.assertEqual(mymath.square(2), 4)
AssertionError: 1.0 != 4

----------------------------------------------------------------------
Ran 1 test in 0.000s

FAILED (failures=1)
          

以上就是本文的全部內(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)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 凤山市| 桃园市| 山阴县| 修水县| 兴安盟| 根河市| 云浮市| 宁海县| 和静县| 伊吾县| 丰台区| 双牌县| 黑山县| 清流县| 上高县| 柘荣县| 南京市| 酉阳| 日土县| 子长县| 剑川县| 宣化县| 大厂| 古交市| 灌南县| 绍兴市| 孙吴县| 兴安盟| 黄骅市| 宕昌县| 昭觉县| 台东县| 当雄县| 蒙山县| 桂东县| 大埔区| 申扎县| 沁源县| 安化县| 峨边| 龙南县|