python 测试实现方法


Posted in Python onDecember 24, 2008

 1)doctest
使用doctest是一种类似于命令行尝试的方式,用法很简单,如下

def f(n): 
""" 
>>> f(1) 
1 
>>> f(2) 
2 
""" 
print(n) if __name__ == '__main__': 
import doctest 
doctest.testmod()

应该来说是足够简单了,另外还有一种方式doctest.testfile(filename),就是把命令行的方式放在文件里进行测试。

2)unittest
unittest历史悠久,最早可以追溯到上世纪七八十年代了,C++,Java里也都有类似的实现,Python里的实现很简单。
unittest在python里主要的实现方式是TestCase,TestSuite。用法还是例子起步。

from widget import Widget 
import unittest 
# 执行测试的类 
class WidgetTestCase(unittest.TestCase): 
def setUp(self): 
self.widget = Widget() 
def tearDown(self): 
self.widget.dispose() 
self.widget = None 
def testSize(self): 
self.assertEqual(self.widget.getSize(), (40, 40)) 
def testResize(self): 
self.widget.resize(100, 100) 
self.assertEqual(self.widget.getSize(), (100, 100)) 
# 测试 
if __name__ == "__main__": 
# 构造测试集 
suite = unittest.TestSuite() 
suite.addTest(WidgetTestCase("testSize")) 
suite.addTest(WidgetTestCase("testResize")) # 执行测试 
runner = unittest.TextTestRunner() 
runner.run(suite)

简单的说,1>构造TestCase(测试用例),其中的setup和teardown负责预处理和善后工作。2>构造测试集,添加用例3>执行测试需要说明的是测试方法,在Python中有N多测试函数,主要的有:
TestCase.assert_(expr[, msg])
TestCase.failUnless(expr[, msg])
TestCase.assertTrue(expr[, msg])
TestCase.assertEqual(first, second[, msg])
TestCase.failUnlessEqual(first, second[, msg])
TestCase.assertNotEqual(first, second[, msg])
TestCase.failIfEqual(first, second[, msg])
TestCase.assertAlmostEqual(first, second[, places[, msg]])
TestCase.failUnlessAlmostEqual(first, second[, places[, msg]])
TestCase.assertNotAlmostEqual(first, second[, places[, msg]])
TestCase.failIfAlmostEqual(first, second[, places[, msg]])
TestCase.assertRaises(exception, callable, ...)
TestCase.failUnlessRaises(exception, callable, ...)
TestCase.failIf(expr[, msg])
TestCase.assertFalse(expr[, msg])
TestCase.fail([msg])
Python 相关文章推荐
Python读写Excel文件方法介绍
Nov 22 Python
pymongo给mongodb创建索引的简单实现方法
May 06 Python
python实现下载整个ftp目录的方法
Jan 17 Python
tensorflow构建BP神经网络的方法
Mar 12 Python
详解Python 解压缩文件
Apr 09 Python
python中列表的切片与修改知识点总结
Jul 23 Python
python xlwt如何设置单元格的自定义背景颜色
Sep 03 Python
详解Python3 pandas.merge用法
Sep 05 Python
django中的图片验证码功能
Sep 18 Python
windows10在visual studio2019下配置使用openCV4.3.0
Jul 14 Python
python 如何调用远程接口
Sep 11 Python
Python 使用office365邮箱的示例
Oct 29 Python
Python 面向对象 成员的访问约束
Dec 23 #Python
pymssql ntext字段调用问题解决方法
Dec 17 #Python
python 图片验证码代码
Dec 07 #Python
下载糗事百科的内容_python版
Dec 07 #Python
python 参数列表中的self 显式不等于冗余
Dec 01 #Python
Python GAE、Django导出Excel的方法
Nov 24 #Python
Python类的基础入门知识
Nov 24 #Python
You might like
PHP中的类-什么叫类
2006/11/20 PHP
解决php接收shell返回的结果中文乱码问题
2014/01/23 PHP
利用php下载xls文件(自己动手写的)
2014/04/18 PHP
PHP机器学习库php-ml的简单测试和使用方法
2017/07/14 PHP
页面只有一个text的时候,回车自动submit的解决方法
2010/08/12 Javascript
用Mootools获得操作索引的两种方法分享
2011/12/12 Javascript
JS 实现导航栏悬停效果
2013/09/23 Javascript
原生js实现淘宝首页点击按钮缓慢回到顶部效果
2014/04/06 Javascript
jQuery中:only-child选择器用法实例
2015/01/03 Javascript
javascript父子页面通讯实例详解
2015/07/17 Javascript
jQuery easyui的validatebox校验规则扩展及easyui校验框validatebox用法
2016/01/18 Javascript
Linux下为Node.js程序配置MySQL或Oracle数据库的方法
2016/03/19 Javascript
jQuery插件AjaxFileUpload实现ajax文件上传
2016/05/05 Javascript
BootStrap中的table实现数据填充与分页应用小结
2016/05/26 Javascript
NodeJs——入门必看攻略
2016/06/27 NodeJs
JS实现评价的星星功能
2017/08/20 Javascript
微信小程序实现消息框弹出动画
2020/04/18 Javascript
跟老齐学Python之不要红头文件(1)
2014/09/28 Python
Python版微信红包分配算法
2015/05/04 Python
详解Python中的strftime()方法的使用
2015/05/22 Python
举例讲解Django中数据模型访问外键值的方法
2015/07/21 Python
Django 使用Ajax进行前后台交互的示例讲解
2018/05/28 Python
Python发送邮件的实例代码讲解
2019/10/16 Python
三个python爬虫项目实例代码
2019/12/28 Python
python 多线程死锁问题的解决方案
2020/08/25 Python
Html5+JS实现手机摇一摇功能
2015/04/24 HTML / CSS
俄罗斯三星品牌商店:GalaxyStore
2020/11/04 全球购物
会计毕业生求职简历的自我评价
2013/10/20 职场文书
工程资料员岗位职责
2014/03/10 职场文书
毕业生银行实习自我鉴定
2014/10/14 职场文书
计算机考试作弊检讨书1000字
2015/01/01 职场文书
无犯罪记录证明样本
2015/06/16 职场文书
实验室安全管理制度
2015/08/05 职场文书
话题作文之生命的旋律
2019/12/17 职场文书
vue前端工程的搭建
2021/03/31 Vue.js
MySQL实战记录之如何快速定位慢SQL
2022/03/23 MySQL