国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python中unittest用法實例

2020-02-23 05:51:56
字體:
來源:轉載
供稿:網友

本文實例講述了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.pyimport randomimport unittestclass 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 decorratordef 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程序設計的學習有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 海丰县| 阳城县| 晋中市| 大埔县| 洞头县| 京山县| 衡阳县| 汤原县| 大悟县| 长葛市| 孝感市| 广昌县| 桐柏县| 莲花县| 乌兰浩特市| 泾川县| 称多县| 罗山县| 土默特左旗| 佳木斯市| 阳高县| 定结县| 博白县| 柳林县| 青川县| 遵化市| 随州市| 和政县| 嘉善县| 桂林市| 犍为县| 永寿县| 宁安市| 社旗县| 连城县| 乳山市| 赞皇县| 丁青县| 光山县| 米泉市| 永康市|