Python21 单元测试、文档测试
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Python21 单元测试、文档测试,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2392字,纯文字阅读大概需要4分钟。
内容图文
单元测试、文档测试
- 单元测试:单元测试是用来对一个模块、一个函数或者一个类来进行正确性检验的测试工作。
- unintest:Python自带的单元测试框架
代码:
```
# 单元测试
## unittestclass Dict(dict):
def init(self,**kw):
super().__init__(**kw) # 使用dict的初始化方法def __getattr__(self, key): # 动态返回属性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
# unittest
import unittest # 导入unittest
class TestDict(unittest.TestCase): # 定义测试类,并继承unittest.TestCase类# test开头的方法就是测试方法,不以test开头的方法不被认为是测试方法,测试的时候不会被执行
def setUp(self): # 在每个测试方法前都会调用一次
print('unittest 单元测试 开始了! 现在执行的是 setUp方法')
# 运行测试# 测试dict取值用例 def test_init(self): d = Dict(a=1,b='test') self.assertEqual(d.a,1) # d.a 是否与 1 相等 self.assertEqual(d.b,'test') self.assertTrue(isinstance(d,dict)) # d是否是dict类型 # 测试dict 新增key,value用例 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_keyerrot(self): d = Dict() with self.assertRaises(KeyError): # 与try...except...finally 类似 value = d['empty'] def test_attreeor(self): d =Dict() with self.assertRaises(AttributeError): # 当通过d.empty 访问不存在的key时,期待抛出AttributeError value = d.empty def tearDown(self): # 在每个测试方法后都会调用一次 print('每个测试方法之后都会运行该方法!')
if name == 'main':
unittest.main()
# 另一种方法是在命令行通过参数-m unittest直接运行单元测试: python -m unittest 测试类
```
- unintest:Python自带的单元测试框架
文档测试:Python内置的“文档测试”(doctest)模块可以直接提取注释中的代码并执行测试
```
# 文档测试
class Dict1(dict):
'''
Simple dict but also support access as x.y style.>>> d1 = Dict1() >>> d1['x'] = 100 >>> d1.x 100 >>> d1.y = 200 >>> d1['y'] 200 >>> d2 = Dict1(a=1, b=2, c='3') >>> d2.c '3' >>> d2['empty'] Traceback (most recent call last): ... KeyError: 'empty' >>> d2.empty Traceback (most recent call last): ... AttributeError: 'Dict' object has no attribute 'empty' ''' def __init__(self, **kw): super(Dict, self).__init__(**kw) def __getattr__(self, key): try: return self[key] except KeyError: raise AttributeError(r"'Dict1' object has no attribute '%s'" % key) def __setattr__(self, key, value): self[key] = value
if name=='main':
import doctest
doctest.testmod()
```
内容总结
以上是互联网集市为您收集整理的Python21 单元测试、文档测试全部内容,希望文章能够帮你解决Python21 单元测试、文档测试所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。