5

我正在使用 lcov 为 C 代码库生成代码覆盖率报告。我想将测试描述集成到最终输出中(使用 lcov 的 gendesc 实用程序。)

但是,我不知道如何做到这一点,而且关于 gendesc 的文档似乎相当稀疏​​(就老谷歌能够告诉我而言)。

LTP的gendesc 信息描述了如何创建输入测试用例描述文件(正如 genhtml 所期望的那样)。并且genhtml 信息提供--show-descriptions, 和--description-file用于输入这样的测试用例描述文件。

但是,我不知道如何引用测试用例以便将它们包含在最终报告中。genhtml 将它们视为未使用的测试用例,因此将它们排除在生成的 html 输出之外。我可以使用--keep-descriptions,但这并不能告诉我运行了哪些测试用例(显然是因为我不知道如何从代码引用到测试描述。)

那么,我们如何告诉 lcov/genhtml 在最终输出中运行了哪些测试?有任何想法吗?

4

1 回答 1

10

要将测试用例名称与覆盖率数据相关联,请在使用 lcov 的 --test-name 选项收集覆盖率数据时指定该名称:

lcov --capture --directory project-dir --output-file coverage.info --test-name "test01"

然后继续您已经提到的步骤,即创建一个测试用例描述文件“tests.txt”:

test01
    Some test

将其转换为 genhtml 所期望的格式:

gendesc tests.txt --output-filename tests.desc

最后指定描述文件到genhtml:

genhtml coverage.info --output-directory out --description-file tests.desc --show-details
于 2012-10-12T14:09:53.600 回答