我在这里不知所措。我们的单元测试由VSInstr检测,然后由PerfMon(代码覆盖)进行分析。我们有一个广泛的排除列表,我们使用:
/EXCLUDE:"boost::*"
/EXCLUDE:"ATL::*"
/EXCLUDE:"UnitTestNamespace::*"
/EXCLUDE:"cppunit::*"
...等...
运行单元测试时,代码覆盖率文件会为我们提供所有代码的列表,以及排除的所有名称空间和类。 VSInstr没有生成错误。我们使用/ PROFILE链接器标志编译单元测试。
之前有没有人遇到过这个问题?
编辑:我尝试只排除ATL ::,但它仍包含它。所以我的命令行太长的理论被证明是错误的。
答案 0 :(得分:3)
我们没有引号,例如,
%vsinstr% <someDLL> @CPPCoverageExcludes.txt
其中CPPCoverageExcludes.txt如下所示:
/exclude:std::*
/exclude:ATL::*
...
/exclude:_com_error::*
/exclude:_com_issue_error::*
/exclude:_com_issue_errorex::*
/exclude:_com_raise_error::*