之前编写接口测试 因为我的项目接口均为post请求,接口json格式统一所以就不想写太多testcase,仅检查接口是否对于长度和参数类型进行校验。就产生了传入不同参数,重复执行testcase需求。
目前发现了两种方法第一种使用ddt这个库,优点在于简单方便逻辑不复杂,缺点在于仅支持一层循环,第二种方法是通过setattr来自动为已有的TestCase类添加成员函数这个方法好处在于可以多层循环。
方法一:
from ddt import data,ddt
@ddt
class test_suite (unittest.TestCase):
global test_info
#这里可以修改和添加test_info变量的内容和属性
test_info =[]
for i in range(100):
test_data = (i,i+1)
test_info.append(test_data)
@data (*test_info)#这里很多教程会用 @unpack 其实不需要的打包好数据再重新放入test_info中
def test_case(self,test_info):
print(test_info)
if __name__ =='__main__':
unittest.main()
就可以循环执行了,上面声明变量为全局变量后可以定义这个变量的内容和含义。
方法二:
# !/usr/bin/env python
# -*- coding: utf-8 -*-
import unittest
class TestCase