Python单元测试unittest加载方式之一:unittestmain()启动单元测试模块

单元测试的加载方式有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


原文地址:https://www.cnblogs.com/haixianglan/p/13942957.html