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

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

Python單元測試工具doctest和unittest使用解析

系統 1675 0

Python標準庫包含兩個測試工具。

doctest:一個簡單的模塊,為檢查文檔而設計,但也適合用來編寫單元測試。

unittest:一個通用的測試框架。

一、使用doctest進行單元測試

創建文件mymath.py,內容

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

在Sublime Text 3中運行只是提示[Finished in 0.2s]。

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

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

把函數square里面的return x * x 改成 return x / x。

再次運行python mymath.py -v,提示測試不通過,如下圖:

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

二、使用unittest進行單元測試

還是用mymath.py測試,內容:

            
def square(x):  
  return x * x
          

新建單元測試文件test_math.py,內容:

            
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()
          

運行后,顯示OK 測試通過。

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

OK
          

把函數square里面的return x * x 改成 return x / x。

再次運行,這次顯示FAILED 測試不通過。

            
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)
          

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

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

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 彰化县| 雅安市| 揭西县| 奉化市| 娱乐| 芜湖县| 苗栗县| 岫岩| 抚松县| 诸城市| 栾川县| 浏阳市| 洪泽县| 原平市| 乌拉特前旗| 满洲里市| 葫芦岛市| 永昌县| 如皋市| 望都县| 武隆县| 辉县市| 姚安县| 抚顺县| 四会市| 河北省| 象州县| 阿尔山市| 宣城市| 略阳县| 日照市| 鹤庆县| 金堂县| 拉孜县| 长顺县| 石棉县| 石门县| 定远县| 衡阳县| 屏南县| 磐石市|