46-单元测试(1)
生活随笔
收集整理的這篇文章主要介紹了
46-单元测试(1)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
單元測試:對一個函數,類,模塊進行測試:TDD(測試驅動開發)
#在同一個目錄下建兩個py文件:mydict.py和Testmydict.py#mydict.py class Dict(dict):def __init__(self, **kw):super().__init__(**kw)def __getattr__(self, key): #獲取attrtry:return self[key] #對dict自定義一個 d.key 的操作 { 原本是d['key'] }except KeyError:raise AttributeError(r"'Dict' object has no attribute '%s'" % key)def __setattr__(self, key, value): #設置attrself[key] = value#假設要對這個類進行單元測試#Testmydict.py import unittest #單元測試模塊 from mydict import Dict class TestDict(unittest.TestCase):def test_init(self): #test_xxx即為測試方法,從不同方面對待測試的事物進行測試d = Dict(a=1, b='test')self.assertEqual(d.a, 1) #斷言函數返回的結果與1相等self.assertEqual(d.b, 'test')self.assertTrue(isinstance(d, dict))def test_key(self):d = Dict()d['key'] = 'value' self.assertEqual(d.key, 'value')def test_attr(self):d = Dict()d.key = 'value'self.assertTrue('key' in d)self.assertEqual(d['key'], 'value')def test_keyerror(self):d = Dict()with self.assertRaises(KeyError): value = d['empty'] #通過d['empty']訪問不存在的key時,斷言會拋出KeyErrordef test_attrerror(self):d = Dict()with self.assertRaises(AttributeError):value = d.empty #通過d.empty訪問不存在的key時,我們期待拋出AttributeErrordef setUp(self): #自動,的在每個測試方法,前面執行print('setUp...') def tearDown(self): #自動,的在每個測試方法,后面執行print('tearDown...')#比如如果本測試class需要 自動連接和關閉數據庫,可用 setUp()與tearDown()減少重復勞動#之后進入控制臺:python -m unittest mydict_test轉載于:https://www.cnblogs.com/LS1314/p/8504603.html
總結
以上是生活随笔為你收集整理的46-单元测试(1)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2021手机CIS技术趋势总结
- 下一篇: 第四届全国大学生GIS应用技能大赛开发题