我在尝试检查托管在GitHub here上的我的一个项目的代码覆盖率时遇到了一些麻烦。主要是C和宏扩展为一些可用的代码。
我正在编写一个测试,并决定早些发布。这意味着该测试并未完全测试该宏扩展的所有功能,但是以某种方式获得了该特定文件的100%代码覆盖率。所有测试都通过了(因此所有未生成的代码都通过了),但并非所有由宏扩展的功能都通过了,因此我假设未考虑生成的代码。
所以我看到了两种可能性:
CMC_CREATE_UNIT
扩展为一个函数,然后在下面的main down中调用(未显示)。 CMC_CREATE_TEST
扩展为一系列do {} while(0)
(更多详细信息here)。此外,LIST_GENERATE
扩展为一系列功能,这些功能是该单元测试的目标。