单元测试的加载方式有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
本文参考:http://blog.csdn.net/five3/article/details/7104466
版权声明:本文为博主原创文章,未经博主允许不得转载。