如何不修改测试文件即可向Doxygen生成的测试文档添加测试结果
Doxygen测试结果无侵入注入方案
完全可以实现不修改现有测试文件、直接导入外部存储的测试结果到Doxygen生成的测试计划文档中,以下是几种落地成本极低的方案:
方案1:追加独立测试结果页(最省事)
- 先将存储在.xls中的测试结果批量导出为结构化格式:可以写10行以内的Python脚本(用pandas库)读取xls,按「测试项ID、测试名称、测试结果、备注」的列生成Markdown表格,保存为单独的
test_results.md文件 - 打开Doxygen的配置文件(Doxyfile),找到
INPUT配置项,在原有文件列表后追加test_results.md的路径即可 - Doxygen生成文档时会自动把测试结果作为独立页面整合进文档站,你还可以在结果文件里用
@ref标签和原有测试计划的测试项做交叉引用,跳转查看细节。
方案2:结果嵌入原有测试计划对应位置
如果需要把PASS/FAIL结果直接放到原有测试计划的对应测试项后面,不需要改测试文件注释:
- 先在Doxyfile中自定义别名:
ALIASES += test_result{2}="<b>测试结果:</b>*\2*" - 写脚本读取xls的测试结果,生成一个名为
test_result_fragments.inc的文本文件,里面按测试项ID对应写好所有\test_result{测试项ID, PASS}这类片段 - 在原有测试计划对应的注释末尾加一行
\include test_result_fragments.inc即可——这行是固定的,后续结果更新只需要替换inc文件,不需要改测试文件的任何业务注释内容。
方案3:生成后注入(零改动Doxygen配置)
如果你生成的是HTML格式的文档,连Doxygen配置都不用改:
- 写个简单的DOM操作脚本,在Doxygen生成HTML结束后运行,读取xls里的测试项ID和对应结果,直接在对应测试项的HTML节点后插入带样式的PASS/FAIL标签,还可以自定义颜色(PASS绿色、FAIL红色)提升可读性。
通用优化技巧:可以把「xls转结果文件/预处理→运行Doxygen→后处理注入」的流程封装成一键执行的批处理/Shell脚本,每次生成自动同步最新测试结果,不需要人工操作。
内容的提问来源于stack exchange,提问作者jfr
相关产品推荐
相关产品推荐

