Discuss / Python / 整个的一个个人理解分析,靠#略去一些步骤,得到的结果

整个的一个个人理解分析,靠#略去一些步骤,得到的结果

Topic source

import unittest from Mydict import Dict class TestDict(unittest.TestCase):

#def test_init(self):
    d=Dict(a=1,b='test')#d={'a': 1, 'b': 'test'}
    self.assertEqual(d.a,1)
    self.assertTrue(isinstance(d,dict))#检测d的属性是否是dict
def test_key(self): #检测__getattr__,d是否被赋予了可以增添属性的能力,
    d=Dict()
    d['key']='value'#给d增添属性'key',值为'value" e.g.d={'a': 1, 'b': test, 'c': 3}
    self.assertEqual(d.key,'value')#检测d.key用法 d.c是否=3
def test_attr(self):#检测__setattr__,即d.c=3此类是否可以改变d
    d=Dict()
    d.key='value'#设定对象d的属性和值 d.c=3
    self.assertTrue('key'in d)#检测是否改变了d,使d增加了key这个属性 'c'是否在d中
    self.assertEqual(d['key'],'value')#再检测d['key'],d['c']
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
def setUp(self):
    print('setUp...')
def tearDown(self):
    print('tearDown...')

if name == 'main': unittest.main()


  • 1

Reply