unittest是python自带的测试模块,其主要用于单元测试,但是有时候我们也通过构建业务逻辑的形式来做自动化测试
unittest是python自带的单元测试框架,尽管其主要是为单元测试服务的,但我们也可以用它来做自动化测试。
unittest框架有一套固有套路,可以让我们定义测试用例时更加简单和统一断言的能力。unittest框架提供了一系列的断言各种执行策略。通过test suit或者扩展的方式,我们可以自定义用例执行的策略
通过下面的简单例子认识一下吧
# coding: utf-8
# author:
# createDate:
# updateDate:
import unittest
import ddt
test_data = [1,2,3]
class TestFixtures01(unittest.TestCase):
# 所有用例执行前执行
def setUp(self) ->None:
print("setUp开始")
def tearDown(self) ->None:
print("tearDown结束")
# 每条用例执行前执行
@classmethod
def setUpClass(cls) ->None:
print("setUpClass开始")
@classmethod
def tearDownClass(cls) ->None:
print("tearDownClass结束")
# 测试用例
def test_001(self):
print("测试用例001")
class TestFixtures02(unittest.TestCase):
def test_002(self):
print("测试类2")
@ddt.ddt
class TestFixtures03(unittest.TestCase):
@ddt.data(*test_data)
def test_003(self, get_data):
print("get_data =", get_data)
# 每个模块执行前执行
def setUpModule():
"""在所有测试类在调用之前会被执行一次,函数名是固定写法,会被unittest框架自动识别"""
print('集成测试 >>>>>>>>>>>>>>开始')
def tearDownModule():
print("集成测试 >>>>>>>>>>>>>>结束")
if __name__ =='__main__':
unittest.main()
执行测试结果:
集成测试 >>>>>>>>>>>>>>开始
setUpClass开始
setUp开始
测试用例001
tearDown结束
tearDownClass结束
测试类2
get_data = 1
get_data = 2
get_data = 3
集成测试 >>>>>>>>>>>>>>结束
网友评论