谁能帮助理解一下,哎,难度越来越大了
Topic sourceimport unittest #unittest 测试模块
from mydict import Dict #从mydict.py模板中导入Dict类
class TestDict(unittest.TestCase): #(unittest封测的标准类)
def test_init(self): #先测验Dict()中key-valve是否匹配!!!
d=Dict(a=1,b='test') #检验valve为int,str数据类型的情况
self.assertEqual(d.a,1)
self.assertEqual(d.b,'test')
self.assertTrue(isinstance(d,dict)) #检验Dict()是否是dict类型
def test_key(self): #检测d['key']与d.key是否等价!!!
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): #抛出key法输入未存在key的错误
d=Dict()
with self.assertRaises(KeyError):
value=d['empty']
def test_attrerror(self): #抛出属性赋值法输入未存在key的错误
d=Dict()
with self.assertRaises(AttributeError):
value=d.empty
if __name__=='__main__': #套路
unittest.main()
我不知道理解的对不对,但我感觉这个测试程序有点证充要条件的意思,证明了A=B还要证明B=A,计算机需要这样思考吗?
我个人的理解如下: test --init--跟你这边理解的一样,检验实例类型,key-value是否匹配 test_key、test_attr主要是通过两种不同的赋值方式,看看d['key]与d.key是否符合 test_keyerror、test_attrerror主要是通过在实例为空的情况下,看看是否有异常情况的出现 通过这3中检测来保证key-value匹配正确、互相调用正确,调用实例为空也不会出现异常,最大程度上保证类的有效性
- 1
克里斯托弗的梦想
给点指导吧!