亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Python中unittest用法實例

系統 1757 0

本文實例講述了Python中unittest的用法,分享給大家供大家參考。具體用法分析如下:

1. unittest module包含了編寫運行unittest的功能,自定義的test class都要集成unitest.TestCase類,test method要以test開頭,運行順序根據test method的名字排序,特殊方法:
① setup():每個測試函數運行前運行
② teardown():每個測試函數運行完后執行
③ setUpClass():必須使用@classmethod 裝飾器,所有test運行前運行一次
④ tearDownClass():必須使用@classmethod裝飾器,所有test運行完后運行一次

2. 示例代碼:

            
#文件名runtest.py
import random
import unittest

class TestSequenceFunctions(unittest.TestCase):

  def setUp(self):
    self.seq = list(range(10))

  def test_shuffle(self):
    # make sure the shuffled sequence does not lose any elements
    random.shuffle(self.seq)
    self.seq.sort()
    self.assertEqual(self.seq, list(range(10)))

    # should raise an exception for an immutable sequence
    self.assertRaises(TypeError, random.shuffle, (1,2,3))

  def test_choice(self):
    element = random.choice(self.seq)
    self.assertTrue(element in self.seq)

  def test_sample(self):
    with self.assertRaises(ValueError):
      random.sample(self.seq, 20)
    for element in random.sample(self.seq, 5):
      self.assertTrue(element in self.seq)

if __name__ == '__main__':
  unittest.main()


          

3.運行方式:在命令行直接運行這個runtest.py

可以使用unitest.skip裝飾器族跳過test method或者test class,這些裝飾器包括:
① @unittest.skip(reason):無條件跳過測試,reason描述為什么跳過測試
② @unittest.skipif(conditition,reason):condititon為true時跳過測試
③ @unittest.skipunless(condition,reason):condition不是true時跳過測試

可以自定義skip decorator

            
#這是一個自定義的skip decorrator
def skipUnlessHasattr(obj, attr):
  if hasattr(obj, attr):
    return lambda func: func
  return unittest.skip("{!r} doesn't have {!r}".format(obj, attr))


          

skip decorator示例代碼:

            
class MyTestCase(unittest.TestCase):

  @unittest.skip("demonstrating skipping")
  def test_nothing(self):
    self.fail("shouldn't happen")

  @unittest.skipIf(mylib.__version__ < (1, 3),
           "not supported in this library version")
  def test_format(self):
    # Tests that work for only a certain version of the library.
    pass

  @unittest.skipUnless(sys.platform.startswith("win"), "requires Windows")
  def test_windows_support(self):
    # windows specific testing code
    pass

@unittest.skip("showing class skipping")
class MySkippedTestCase(unittest.TestCase):
  def test_not_run(self):
    pass


          

4.expected failure:使用@unittest.expectedFailure裝飾器,如果test失敗了,這個test不計入失敗的case數目

希望本文所述對大家Python程序設計的學習有所幫助。


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

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

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

【本文對您有幫助就好】

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

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 香港aa三级久久三级不卡 | 好爽毛片一区二区三区四区 | 久久一级视频 | 青青草99热这里都是精品 | 亚洲精品乱码久久久久久蜜桃欧美 | 四虎网址换成什么了2021 | 在线精品亚洲欧洲第一页 | 精品国精品国产自在久国产应用 | 国产精品久久久久影院免费 | 成年女人毛片免费播放视频m | 大乳孕妇一级毛片 | 最新日本中文字幕 | 麻豆久久久久久久 | 久久精品亚洲一区二区 | 国产麻豆精品高清在线播放 | 欧美成人天天综合在线视色 | 99久久99久久精品免费看蜜桃 | 日韩视频一区二区三区 | 久久综合精品国产一区二区三区无 | 国产看片网站 | 欧美国产精品 | 在线观看精品91老司机 | 欧美精品亚洲精品日韩专 | 久久嫩草影院免费看夜色 | aaaaaa国产毛片孕妇版 | 欧美理伦 | 国产一级特黄aaaa大片野外 | 国产欧美日韩综合 | 免费一区二区 | 天天色综网 | 天天做人人爱夜夜爽2020毛片 | 欧美精品久久久久久久久大尺度 | 亚洲国产视频一区 | 国产ww久久久久久久久久 | 天堂va亚洲va欧美va国产 | 亚洲欧美精品网站在线观看 | 手机在线看片国产日韩生活片 | 久久久日本精品一区二区三区 | 天天躁狠狠躁夜躁2021 | 在线精品免费视频 | 四虎免费紧急入口观看 |