【发布时间】:2023-03-09 15:48:01
【问题描述】:
我正在创建一个 RunSettings 文件,它将从 VS2012 的代码覆盖结果中排除所有属性和构造函数。我知道 ExcludeFromCodeCoverage 属性,但是我想在 runsettings 文件中使用正则表达式来实现这一点。我的 get 和 set 方法的正则表达式确实可以消除属性的代码覆盖,但它不适用于构造函数。
<Functions>
<Exclude>
<Function>^Fabrikam\.UnitTest\..*</Function>
<Function>^std::.*</Function>
<Function>^ATL::.*</Function>
<Function>.*::__GetTestMethodInfo.*</Function>
<Function>^Microsoft::VisualStudio::CppCodeCoverageFramework::.*</Function>
<Function>^Microsoft::VisualStudio::CppUnitTestFramework::.*</Function>
<Function>.*\.ctor.*</Function>
<Function>.*\.set_.*</Function>
<Function>.*\.get_.*</Function>
</Exclude>
</Functions>
【问题讨论】:
-
那些没有默认实现但实际上有应该测试/覆盖的真实代码的属性/构造函数呢?
-
愚蠢的观察,但是如果不使用构造函数,那么类也不会 - 编写一些测试或删除未使用的代码
-
是的,如果构造函数正在执行任何类型的逻辑,我同意它们应该被测试,但有时有一些不同的重载除了赋值之外没有真正做任何事情。我想有人可能会争辩说应该对这些进行测试。
标签: visual-studio visual-studio-2012 code-coverage