Python之PyUnit单元测试实例


Posted in Python onOctober 11, 2014

本文实例讲述了Python之PyUnit单元测试,与erlang eunit单元测试很像,分享给大家供大家参考。具体方法如下:

1.widget.py文件如下:

#!/usr/bin/python

# Filename:widget.py
class Widget:

def __init__(self, size = (40, 40)):

self.size = size

 

def getSize(self):

return self.size

 

def resize(self, width, height):

if width < 0 or height < 0:

raise ValueError, "illegal size"

self.size = (width, height)

 

def dispose(self):

passDefaultTestCase

2. auto.py文件如下:

#!/usr/bin/python

# Filename:auto.py

 

import unittest

from widget import Widget

 

class WidgetTestCase(unittest.TestCase):

def setUp(self):

self.widget = Widget()

 

def tearDown(self):

self.widget = None

 

def testSize(self):

self.assertEqual(self.widget.getSize(), (50, 40))

 

def suite():

suite = unittest.TestSuite()

suite.addTest(WidgetTestCase("testSize"))

return suite

 

if __name__ == "__main__":

unittest.main(defaultTest = 'suite')

3.执行结果如下:

[code]jobin@jobin-desktop:~/work/python/py_unit$ python auto.py
.
----------------------------------------------------------------------
Ran 1 test in 0.000s
 
OK
jobin@jobin-desktop:~/work/python/py_unit$ python auto.py
F
======================================================================
FAIL: testSize (__main__.WidgetTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
File "auto.py", line 15, in testSize
self.assertEqual(self.widget.getSize(), (50, 40))
AssertionError: (40, 40) != (50, 40)
 
----------------------------------------------------------------------
Ran 1 test in 0.000s
 
FAILED (failures=1)
jobin@jobin-desktop:~/work/python/py_unit$[/code]

希望本文所述对大家的Python程序设计有所帮助。

Python 相关文章推荐
Python中的rfind()方法使用详解
May 19 Python
Python实现读取txt文件并画三维图简单代码示例
Dec 09 Python
python引用(import)某个模块提示没找到对应模块的解决方法
Jan 19 Python
python实现抖音点赞功能
Apr 07 Python
Python 抓取微信公众号账号信息的方法
Jun 14 Python
Python 实现数据结构-堆栈和队列的操作方法
Jul 17 Python
pygame实现俄罗斯方块游戏(AI篇1)
Oct 29 Python
opencv3/C++ 平面对象识别&amp;透视变换方式
Dec 11 Python
Python 使用生成器代替线程的方法
Aug 04 Python
python 邮件检测工具mmpi的使用
Jan 04 Python
Python使用DFA算法过滤内容敏感词
Apr 22 Python
python内置模块之上下文管理contextlib
Jun 14 Python
采用Psyco实现python执行速度提高到与编译语言一样的水平
Oct 11 #Python
跟老齐学Python之编写类之四再论继承
Oct 11 #Python
Python使用MySQLdb for Python操作数据库教程
Oct 11 #Python
跟老齐学Python之编写类之三子类
Oct 11 #Python
跟老齐学Python之编写类之二方法
Oct 11 #Python
Python中MYSQLdb出现乱码的解决方法
Oct 11 #Python
python操作mysql中文显示乱码的解决方法
Oct 11 #Python
You might like
德生PL330的评价与改造
2021/03/02 无线电
PHP防盗链代码实例
2014/08/27 PHP
Centos下升级php5.2到php5.4全记录(编译安装)
2015/04/03 PHP
10个超级有用的PHP代码片段果断收藏
2015/09/23 PHP
PHP中isset、empty的用法与区别示例详解
2020/11/05 PHP
JQuery 学习笔记 element属性控制
2009/07/23 Javascript
javascript 去字符串空格终极版(支持utf8)
2009/11/14 Javascript
javascript 实现子父窗体互相传值的简单实例
2014/02/17 Javascript
javascript实现点击按钮让DIV层弹性移动的方法
2015/02/24 Javascript
JavaScript获得表单target属性的方法
2015/04/02 Javascript
JavaScript实现汉字转换为拼音的库文件示例
2016/12/22 Javascript
JavaScript实现弹窗效果代码分析
2017/03/09 Javascript
vue 标签属性数据绑定和拼接的实现方法
2018/05/17 Javascript
详解webpack 热更新优化
2018/09/13 Javascript
layUI的验证码功能及校验实例
2019/10/25 Javascript
vue 解决computed修改data数据的问题
2019/11/06 Javascript
Vue extend的基本用法(实例详解)
2019/12/09 Javascript
Vue通过getAction的finally来最大程度避免影响主数据呈现问题
2020/04/24 Javascript
[53:15]2018DOTA2亚洲邀请赛3月29日 小组赛A组 KG VS OG
2018/03/30 DOTA
Python面向对象编程中的类和对象学习教程
2015/03/30 Python
Python利用ansible分发处理任务
2015/08/04 Python
Python实现一个转存纯真IP数据库的脚本分享
2017/05/21 Python
virtualenv实现多个版本Python共存
2017/08/21 Python
详解Python3的TFTP文件传输
2018/06/26 Python
Python 2/3下处理cjk编码的zip文件的方法
2019/04/26 Python
pyqt5之将textBrowser的内容写入txt文档的方法
2019/06/21 Python
flask框架jinja2模板与模板继承实例分析
2019/08/01 Python
Django实现文件上传下载
2019/10/06 Python
详解CSS3伸缩布局盒模型Flex布局
2018/08/20 HTML / CSS
跑鞋、网球鞋、网球拍、服装及装备:Holabird Sports
2016/09/19 全球购物
阳光体育:Sunny Sports(购买露营和远足设备)
2018/08/07 全球购物
儿科护士自我鉴定
2013/10/14 职场文书
市场营销专业毕业生求职信
2014/07/21 职场文书
企业文化学习心得体会
2016/01/21 职场文书
MYSQL事务的隔离级别与MVCC
2022/05/25 MySQL
Sentry的安装、配置、使用教程(Sentry日志手机系统)
2022/07/23 Python