python的单元测试需要关注unittest和mock模块,在python2需要单独安装模块模块,在python3里已经作为标准模块unittest.mock使用了
example:
有一待测试代码如下:
#!/usr/bin/env python
#encoding: utf-8
def sum( x, y):
return x+y
def sub( x, y):
return x-y
测试代码编写如下
#!/usr/bin/env python
#encoding: utf-8
import unittest
import myclass
class mytest(unittest.TestCase):
##初始化工作
def setUp(self):
pass
#退出清理工作
def tearDown(self):
pass
#具体的测试用例,一定要以test开头
def testsum(self):
self.assertEqual(myclass.sum(1, 2), 2, 'test sum fail')
def testsub(self):
self.assertEqual(myclass.sub(2, 1), 1, 'test sub fail')
if __name__ =='__main__':
unittest.main()
测试结果如下:
rony@Ronydembp:~/code/unittest% python unittest1.py -v
testsub (__main__.mytest) ... ok
testsum (__main__.mytest) ... FAIL
======================================================================
FAIL: testsum (__main__.mytest)
----------------------------------------------------------------------
Traceback (most recent call last):
File "unittest1.py", line 19, in testsum
self.assertEqual(myclass.sum(1, 2), 2, 'test sum fail')
AssertionError: test sum fail
----------------------------------------------------------------------
Ran 2 tests in 0.001s
FAILED (failures=1)