class Dict(dict): #*kwe为列表,**为字典 def __init__(self,**kw): super().__init__(**kw) #相当于java中的get方法,下面setname的值 def __getattr__(self, key): try: return self[key] except KeyError: raise AttributeError(r'Dict object has no attrict %s' %key) #相当于java中setname的值,设置成传进去的value的值 def __setattr__(self, key, value): self[key]=value #单元测试: """ 1.各测试用例必须以test_开头,后面调程序时它会自动运行这些用例 2.def setUp(self):在调用这些测试方法之前调用,例如要打开数据库,就可以把数据打开写在setup中 3.def tearDown(self):在调用这些测试方法之后调用,例如上面的关闭数据库 """ import unittest class TestDict(unittest.TestCase): #判断初始化的值 def test_init(self): d=Dict(a=1,b='test') #断言可以用属性方法调用d.a 返回1 self.assertEquals(d.a,1) self.assertEquals(d.b,'test') #判断d是dict self.assertTrue(isinstance(d,dict)) #测试key的值,d.key的值为value def test_key(self): d=Dict() d['key']='value' self.assertEquals(d.key,'value') #测试属性 def test_attr(self): d=dict() d['key']='value' self.assertTrue('key'in d) self.assertEquals(d['key'],'value') #测试属性错误的状态 def test_attrerror(self): d=dict() #通过d.empty访问不存在的key时,我们抛出AttributeError with self.assertRaises(AttributeError): value=d.empty if __name__=='__main__': unittest.main() #或者在命令行中执行:python3 -m unittest mydict_test
单元测试
最新推荐文章于 2021-11-11 18:25:15 发布