# 上传自定义测试用例指引
测试用例上传到平台后,平台会将 zip 包进行解压,然后利用 Python 内置的 inspect 模块分析出test
打头的测试函数名称。
在 inspect 过程中,会把每个 Python 文件执行一遍,可能会出现因为 case 目录结构不合理导致的分析失败。
# 推荐目录结构
推荐两种用例目录组织结构:
①
___my_case
|___test_a.py // from util.base import xxxx
|___test_b.py // from util.base import xxxx
|___util
|___ __init__.py
|___base.py
选择test_a.py、test_b.py和 util 目录一起打包压缩成case.zip
②
___my_case
|___test_pack
|___ __init__.py // 注意这里,加上__init__.py使整个test_pack成为一个包
|___test_a.py // from test_pack.util.base import xxxx
|___test_b.py // from test_pack.util.base import xxxx
|___util
|___ __init__.py
|___base.py
选择test_pack目录压缩成case.zip
注意:不要直接选中"my_case"这层目录进行压缩
# 本地调试
出现问题时可以 下载脚本 来辅助debug
cd ${your_path}/local_script
python3 debug_analyse.py -d ${your_case_path}
参考示例:
cd /leviwu/test/local_script
python3 debug_analyse.py -d /leviwu/minitest-case/user_case/my_case
如果控制台有标准输出,说明 case 分析成功
# 常见错误:
# 1.ModuleNotFoundError, ImportError...
请确保模块完整,因为在inspect .py文件的时候,相当于会将 py 执行一遍 如果使用了第三方库,请一并将第三方库源码上传(建议把使用到的第三方库统一放置于一个目录)。
# 2.ValueError: source code string cannot contain null bytes
请确保文件是UTF-8编码