unittest的入门和使用

1.什么是unnitest?

python的一个库;一个类继承了Unittest了以后便是一个测试用例,而class中的方法 (以test名称开头的方法),会在 TestLoaderd的时候被加载到TestCase中并生成对应实例,然后如果被加载在TestSuite中也是不变的实例
优点:提供用例组织与执行方法;提供比较方法;提供丰富的日志、清晰的报告

2.unnitest的结构组成

unnittest可以由5部分构成:
1)testcase:测试用例
2) testsuite: 可以打包testcase的嵌套工具,将每个类型的单元测试归类等,PS:TestSuite可以嵌套TestSuite。
3) testfixture:TestFixture则是基于测试用例的环境搭建与销毁
4) testrunner:其loadTestsFrom方法搜寻TestCase并加载到TestSuite
5)testreport:输出的测试报告

3.unnitest的实践

创建一个类 定义方法

def add(a,b):
	return a+b;

def minus(a,b):
	return a-b;

def multi(a,b):
	return a*b;

def divide(a,b):
	return a/b

调用unittest

import unittest
from mathfunc import *

class TestMathFunc(unittest.TestCase):
	"""docstring for TestMathFunc"""
	def Test_add(self):
		self.assertEqual(3,add(1,2))
		self.assertNotEqual(3,add(2,2))

	def Test_minus(self):
		self.assertEqual(1,minus(3,2))
	def Test_divide(self):
		self.assertEqual(2,divide(6,3))
		self.assertEqual(4,divide(5,2))

if __name__=="__main__":
	suite = unittest.TestSuite()

	tests=[TestMathFunc("Test_add"),TestMathFunc("Test_minus"),TestMathFunc("Test_divide")]
	suite.addTests(tests)#将测试用例加入测试集
	runner=unittest.TextTestRunner(verbosity=2)
	runner.run(suite)#运行测试集

你可能感兴趣的:(自动化测试学习,python学习)