Python中有一个自带的单元测试框架是unittest模块,用它来做单元测试,它里面封装好了一些校验返回的结果方法和一些用例执行前的初始化操作。
单元测试框架即一堆工具的集合。
在说unittest之前,先说几个概念:
TestCase 也就是测试用例
TestSuite 多个测试用例集合在一起,就是TestSuite
TestLoader是用来加载TestCase到TestSuite中的
TestRunner是来执行测试用例的,测试的结果会保存到TestResult实例中,包括运行了多少测试用例,成功了多少,失败了多少等信息
unittest单元测试 --- “代码驱动”(用例是用代码写的),也支持“数据驱动”,将数据存在文件里去取数据
atp-根据excel,用例写在Excel里的,属于“数据驱动”
下面写一个简单的单元测试用例
import unittest #导入unittest
defcalc(a,b):return a/bclass TestCalc(unittest.TestCase): #继承unittest.TestCase
@classmethoddef setUpClass(cls): #必须使用 @ classmethod装饰器, 所有test运行之前运行一次
print('我是setupClass')
@classmethoddef tearDownClass(cls): #必须使用 @ classmethod装饰器, 所有test运行结束后运行一次
print('我是tearDownClass')def setUp(self):#每条用例执行之前都会先执行它
print('我是setup')def tearDown(self):#每条用例执行之后都会执行它
print('我是teardown')def test_calc1(self): #下面的三引号/双引号中显示的是描述信息
'''测试正常的'''
#result = calc(2,1)
#self.assertEqual(2,result,'除法运算不正确')
print('calc1')deftest_calc2(self):print('calc2')"测试异常的"
#result = calc(2, 2)
#self.assertEqual(1,2,'结果不正确')
deftest_mysql(self):'''测试mysql'''
print(