Python之PyUnit单元测试实例

原创
2016-06-10 15:19:27 842浏览

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

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。