單元測試的加載方式有2種:一種是通過unittest.main()來啓動單元測試的測試模塊;一種是添加到testsuite集合中再加載所有的被測試對象,而testsuit裏存放的就是單元測試的用例。
一、測試模塊中的函數
被測模塊
#!/usr/bin/env python2.7.9
# -*- coding: utf-8 -*-
"""
__title__ = ''
__author__ = 'Administrator'
__mtime__ = '15-6-26'
"""
def sum(x,y):
return x+y
def sub(x,y):
return x-y
單元測試模塊:
#!/usr/bin/env python2.7.9
# -*- coding: utf-8 -*-
__author__ = 'lan'
import unittest
from testing.test_unittest import mytest01
class MyTestCase(unittest.TestCase):
def setUp(self):
print"-----開始------"
def tearDown(self):
print "------結束-----"
def test_sum(self):
self.assertEqual(mytest01.sum(1,2),3,"sum test fail")
print "sum ss"
print "*"*20
""""
def test_sub(self):
self.assertEqual(mytest01.sub(3,2),1,"sub test fail")
print "sub ss"
print "*"*20
"""
if __name__ == '__main__':
unittest.main()
運行結果:
二、測試模塊類中的函數
被測模塊:
#!/usr/bin/env python2.7.9
# -*- coding: utf-8 -*-
"""
__title__ = ''
__author__ = 'Administrator'
__mtime__ = '15-6-26'
"""
class myclass:
def __init__(self):
pass
def sum(self,x,y):
return x+y
def sub(self,x,y):
return x-y
單元測試模塊:
#!/usr/bin/env python2.7.9
# -*- coding: utf-8 -*-
__author__ = 'lan'
import unittest
from testing.test_unittest import testclass001
class MyTestCase(unittest.TestCase):
#初始化工作
def setUp(self):
self.tclass = testclass001.myclass()#實例化被測試模塊中的類
#退出清理工作
def tearDown(self):
pass
#測試方法,以test開頭
def test_sum(self):
self.assertEqual(self.tclass.sum(1,2),4,"sum test fail..")
def test_sub(self):
self.assertEqual(self.tclass.sub(2,1),2,"sub test fail")
if __name__ == '__main__':
unittest.main()
運行結果:
**這種方式執行單個測試文件時使用-v參數可以獲得更多的測試結果信息。如:mytest.py -v