单元测试

来源:互联网 发布:音频剪辑软件app 编辑:程序博客网 时间:2024/05/22 13:05
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 unittestclass 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.emptyif __name__=='__main__':    unittest.main()#或者在命令行中执行:python3 -m unittest mydict_test
0 0