我想使用pytest -n 2 并行读取被参数化的数据,你帮我分析程序中存在的逻辑问题。程序如下:import pytest from common.calculation import * import logging.config import json path = os.path.dirname(__file__) logging.config.fileConfig(path + r'\common\logging.conf') # 获取日志配置文件的信息 logger = logging.getLogger('apilog') # apilog是logging类的对象logger的对外名字 # 读取测试文件 data_path = os.path.dirname(__file__) data_path = os.path.dirname(data_path) data_path = data_path + r'\test\flask' data_name = os.listdir(data_path) # 测试数据 listData = [{} for i in range(len(data_name))] for num in range(len(data_name)): with open(str(data_path) + '\\' + str(data_name[num]), 'r', encoding='utf-8') as data: try: listData[num] = json.load(data) except Exception as e: print("JSONDecodeError:接口外读取文件有误--------", str(data_name[num])) logger.exception(f'文件:{data_name[num]}读取有误。路径追溯:{e}') @pytest.mark.parametrize("input_json",listData) def test_case(input_json): print(input_json)
时间: 2023-04-07 13:02:43 浏览: 124
pytest-lazy-fixture:有助于在pytest.mark.parametrize中使用固定装置
这段程序中存在的逻辑问题是无法确定参数化的数据是否可以并行读取。因为在程序中只是使用了pytest的-n 2参数来指定并行读取的数量,但并没有对参数化的数据进行处理。因此,需要进一步修改程序,使其能够正确地并行读取参数化的数据。
阅读全文