我的.SLN文件中有20个项目。我正在通过Test Explorer运行我的单元测试并生成代码覆盖率。只有八个项目出现在报道中(见截图)。我正在使用runsettings文件,其中我已注释掉所有< exclude>的内容标签,像这样:
<PublicKeyTokens>
<!-- Exclude Visual Studio extensions: -->
<Exclude>
<!--
<PublicKeyToken>^B77A5C561934E089$</PublicKeyToken>
<PublicKeyToken>^B03F5F7F11D50A3A$</PublicKeyToken>
<PublicKeyToken>^31BF3856AD364E35$</PublicKeyToken>
<PublicKeyToken>^89845DCD8080CC91$</PublicKeyToken>
<PublicKeyToken>^71E9BCE111E9429C$</PublicKeyToken>
<PublicKeyToken>^8F50407C4E9E73B6$</PublicKeyToken>
<PublicKeyToken>^E361AF139669C375$</PublicKeyToken>
-->
</Exclude>
</PublicKeyTokens>
我无法弄清楚为什么其他12个项目未在覆盖结果中显示。有什么想法吗?
解决方案项目:
代码覆盖率结果:
答案 0 :(得分:8)
组件未显示,因为它们在当前测试运行期间未加载。
添加一些在每个其他程序集中使用类型的简单测试。
答案 1 :(得分:0)
你能否添加:
<CodeCoverage>
<ModulePaths>
<Include>
<!--Include all loaded .dll assemblies and .exe executables-->
<ModulePath>.*\.dll$</ModulePath>
<ModulePath>.*\.exe$</ModulePath>
</Include>
</ModulePaths>
</CodeCoverage>
答案 2 :(得分:0)
将<DebugType>Full</DebugType>
添加到目标.csproj文件对我有用
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<DebugType>Full</DebugType>
</PropertyGroup>