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)