You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何批量读取testSplited文件夹下多份含测试用例的JSON文件?

解决方案:加载多个JSON测试文件并整合参数

我来帮你调整代码,让它能一次性加载testSplited文件夹下的四个指定JSON文件,并且把所有文件里的测试参数整合到一起。这里是修改后的完整代码:

import json
import os

def load_test_params():
    # 定义需要加载的JSON文件列表
    test_files = ["credit.json", "housingP.json", "mood.json", "churn.json"]
    # 拼接文件夹路径,用os.path.join适配不同操作系统的路径格式
    folder_path = os.path.join(filePath, "testsSplited")
    
    all_test_params = []
    for file_name in test_files:
        file_full_path = os.path.join(folder_path, file_name)
        with open(file_full_path) as json_file:
            data = json.load(json_file)
            # 确保当前文件的tests列表非空
            assert len(data['tests']) > 0, f"文件{file_name}中的tests列表为空"
            all_test_params.extend(data['tests'])
    
    # 确保最终整合后的测试参数非空
    assert len(all_test_params) > 0, "所有加载的文件中没有有效的测试参数"
    return all_test_params

TEST_PARAMS = load_test_params()

代码说明:

  • 指定待加载文件:用test_files列表明确列出需要加载的四个JSON文件名,方便后续维护和修改。
  • 路径拼接优化:使用os.path.join替代手动拼接字符串,避免Windows和Linux/macOS的路径分隔符差异问题。
  • 遍历加载与整合:循环遍历每个文件,读取其中的tests列表,用extend方法把所有测试项合并到一个总列表中。
  • 断言增强:不仅检查单个文件的tests非空,最后还检查总列表是否有内容,提前发现异常情况。
  • 可读性提升:拆分路径拼接和文件读取的步骤,让代码逻辑更清晰,便于后续调试。

如果需要动态加载testsSplited文件夹下的所有JSON文件(而不是指定四个),可以用os.listdir结合过滤来实现,比如:

test_files = [f for f in os.listdir(folder_path) if f.endswith('.json')]

内容的提问来源于stack exchange,提问作者snow

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.11 07:36:10