+ +
+
+
+
+

+ + 单元测试报告 +

+

+ 生成时间: {datetime.now().strftime("%Y-%m-%d %H:%M:%S")} +

+
+
+ + {overall_status} + +
+
+
+
+ + +
+
+
+
+
+ +
+

{test_info['passed_tests']}

+

通过测试

+
+
+
+
+
+
+
+ +
+

{test_info['failed_tests']}

+

失败测试

+
+
+
+
+
+
+
+ +
+

{test_info['duration']}s

+

测试时长

+
+
+
+
+
+
+
+ +
+

{coverage_info['function_coverage']:.1f}%

+

覆盖率

+
+
+
+
+ + +
+ +
+ +
+
+
+ + 测试执行总览 +
+
+
+
+
+

总测试数: {test_info['total_tests']}

+

通过率: {(test_info['passed_tests']/test_info['total_tests']*100) if test_info['total_tests'] > 0 else 0:.1f}%

+
+
+

执行时间: {test_info['duration']} 秒

+

平均用时: {(test_info['duration']/test_info['total_tests']) if test_info['total_tests'] > 0 else 0:.3f} 秒/测试

+
+
+
+
+ + {failed_tests_html} + {test_details_html} +
+ + +
+ +
+
+
+ + 代码覆盖率 +
+
+
+
+
+ 行覆盖率 + {coverage_info['line_coverage']:.1f}% +
+
+
+
+
+ +
+
+ 函数覆盖率 + {coverage_info['function_coverage']:.1f}% +
+
+
+
+
+ +
+
+ 分支覆盖率 + {coverage_info['branch_coverage']:.1f}% +
+
+
+
+
+ +
+

覆盖文件: {coverage_info['files_covered']}/{coverage_info['total_files']}

+

生成时间: {coverage_info['duration']} 秒

+
+
+ + +
+
+
+ + 构建信息 +
+
+
+

CMake版本: {build_info['cmake_version']}

+

编译器: {build_info['compiler']}

+

构建类型: {build_info['build_type']}

+

构建时间: {build_info['build_time']}

+
+
+
+
+ + {coverage_details_html} + + +
+
+
+

+ + Generated by Qt Unit Test Suite +

+
+
+
+