单元测试:unittest.TestCase-创新互联
a.测试驱动开发:(TDD:Test-Driven Development)

b.单元测试是用来对一个模块、一个函数或者一个类来进行正确性检验的测试工作。
c.以test开头的方法就是测试方法
d.模块函数:
检查预期结果:assertEqual()
验证条件:assertTrue()或 assertFalse()
验证是否引发了特定异常:assertRaises()
在每个测试方法之前和之后执行的指令:setUp()和tearDown()
为测试脚本提供命令行界面: unittest.main()
mydict.py:
#!/usr/bin/python # -*- coding: utf-8 -*- class Dict(dict): def __init__(self, **kw): super().__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
mydict_test.py:
#!/usr/bin/python
# -*- coding: utf-8 -*-
import unittest
from mydict import Dict
class TestDict(unittest.TestCase):
def setUp(self):
print('setUp...')
def tearDown(self):
print('tearDown...')
def test_init(self):
d = Dict(a=1, b='test')
self.assertEqual(d.a, 1)
self.assertEqual(d.b, 'test')
self.assertTrue(isinstance(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):
value = d['empty']
def test_attrerror(self):
d = Dict()
with self.assertRaises(AttributeError):
value = d.empty运行单元测试
一旦编写好单元测试,我们就可以运行单元测试。最简单的运行方式是在mydict_test.py的最后加上两行代码:
if __name__ == '__main__': unittest.main()
这样就可以把mydict_test.py当做正常的python脚本运行:
$ python mydict_test.py
另一种方法是在命令行通过参数-m unittest直接运行单元测试:
$ python -m unittest mydict_test ..... ----------------------------------------------------------------------Ran 5 tests in 0.000sOK
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
网页标题:单元测试:unittest.TestCase-创新互联
网站链接:http://www.jxjierui.cn/article/ddcdoj.html


咨询
建站咨询
