Python之PyUnit单元测试实例

yipeiwu_com7年前Python基础

本文实例讲述了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程序设计有所帮助。

相关文章

Django如何开发简单的查询接口详解

前言 Django处理json也是一把好手,有时候在工作中各个部门都会提供自己的相关接口,但是信息也只是单方的信息,这时候需要运维将各个部门的信息进行集成,统一出一个查询接口或页面,方便...

python 二维数组90度旋转的方法

如下所示: #!/usr/bin/env python #-*- coding: utf-8 -*- """ [0, 1, 2, 3] [0, 1, 2, 3] [0, 1, 2...

用python标准库difflib比较两份文件的异同详解

用python标准库difflib比较两份文件的异同详解

【需求背景】 有时候我们要对比两份配置文件是不是一样,或者比较两个文本是否异样,可以使用linux命令行工具diff a_file b_file,但是输出的结果读起来不是很友好。这时候使...

Python3.0与2.X版本的区别实例分析

本文通过列举出一些常见的实例来分析Python3.0与2.X版本的区别,是作者经验的总结,对于Python程序设计人员来说有不错的参考价值。具体如下: 做为一个前端开发的码农,最近通过阅...

Pytorch to(device)用法

如下所示: device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu") model.to(devi...