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使用多线程不断刷新网页的方法
Mar 31 Python
Python3读取zip文件信息的方法
May 22 Python
django admin添加数据自动记录user到表中的实现方法
Jan 05 Python
Python的numpy库中将矩阵转换为列表等函数的方法
Apr 04 Python
python实现数据库跨服务器迁移
Apr 12 Python
深入浅析Python科学计算库Scipy及安装步骤
Oct 12 Python
python tkinter控件布局项目实例
Nov 04 Python
使用pytorch完成kaggle猫狗图像识别方式
Jan 10 Python
Tensorflow不支持AVX2指令集的解决方法
Feb 03 Python
Python利用Faiss库实现ANN近邻搜索的方法详解
Aug 03 Python
Python测试框架:pytest学习笔记
Oct 20 Python
Pycharm在指定目录下生成文件和删除文件的实现
Dec 28 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
萌王史莱姆”萌王性别尴尬!那“萌战”归女组还是男?
2018/12/17 日漫
php笔记之常用文件操作
2010/10/12 PHP
利用php操作memcache缓存的基础方法示例
2017/08/02 PHP
php实现的表单验证类完整示例
2019/08/13 PHP
javascript HTMLEncode HTMLDecode的完整实例(兼容ie和火狐)
2009/06/02 Javascript
jQuery将所有被选中的checkbox某个属性值连接成字符串的方法
2015/01/24 Javascript
详谈LABJS按需动态加载js文件
2015/05/07 Javascript
jQuery弹出窗口打开链接的实现代码
2016/12/24 Javascript
JavaScript获取当前时间向前推三个月的方法示例
2017/02/04 Javascript
js仿网易表单及时验证功能
2017/03/07 Javascript
JavaScript观察者模式(publish/subscribe)原理与实现方法
2017/03/30 Javascript
使用Vue写一个datepicker的示例
2018/01/27 Javascript
JS 实现分页打印功能
2018/05/16 Javascript
AngularJS实现的base64编码与解码功能示例
2018/05/17 Javascript
JointJS流程图的绘制方法
2018/12/03 Javascript
node中使用es6/7/8(支持性与性能)
2019/03/28 Javascript
layui写后台表格思路和赋值用法详解
2019/11/14 Javascript
[01:06:26]全国守擂赛第二周 Team Coach vs DeMonsTer
2020/04/28 DOTA
Python函数学习笔记
2008/10/07 Python
centos6.4下python3.6.1安装教程
2017/07/21 Python
python3 判断列表是一个空列表的方法
2018/05/04 Python
Django教程笔记之中间件middleware详解
2018/08/01 Python
Python requests模块实例用法
2019/02/11 Python
PyCharm中代码字体大小调整方法
2019/07/29 Python
基于Python脚本实现邮件报警功能
2020/05/20 Python
用python实现名片管理系统
2020/06/18 Python
Python使用urlretrieve实现直接远程下载图片的示例代码
2020/08/17 Python
法国美发器材和产品购物网站:Beauty Coiffure
2016/12/05 全球购物
教师年终个人自我评价
2013/10/04 职场文书
团员学习总结的自我评价范文
2013/10/14 职场文书
人代会标语
2014/06/30 职场文书
财政专业大学生职业生涯规划书
2014/09/17 职场文书
导游欢迎词范文
2015/01/23 职场文书
2015年试用期自我评价范文
2015/03/10 职场文书
python套接字socket通信
2022/04/01 Python
Elasticsearch Recovery 详细介绍
2022/04/19 Java/Android