python编程:单元测试
''' Created on 2018年7月16日 @author: SYSTEM ''' import unittest class Dict(dict): def __init__(self, **kw): super(Dict, self).__init__(**kw) def __getattr__(self, key): try: return self[key] except KeyError: raise AttributeError(r"'Dict' object has no attribute '%s'" % key) def __setattr__(self, key, value): self[key] = value class TestDict(unittest.TestCase): def test_init(self): d = Dict(a=1, b='test') self.assertEqual(d.a, 1) # 判断d.a是否等于1 self.assertEqual(d.b, 'test') # 判断d.b是否等于test self.assertTrue(isinstance(d, dict)) # 判断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): # 通过d['empty']访问不存在的key时,断言会抛出keyerror value = d['empty'] def test_attrerror(self): d = Dict() with self.assertRaises(AttributeError): # 通过d.empty访问不存在的key时,我们期待抛出AttributeError value = d.empty if __name__ == '__main__': unittest.main()
输出
..... ---------------------------------------------------------------------- Ran 5 tests in 0.022s OK#测试#