Visual Studio代码覆盖率未显示所有程序集

时间:2013-02-20 21:47:58

标签: visual-studio-2012 code-coverage

我的.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个项目未在覆盖结果中显示。有什么想法吗?

解决方案项目

Visual Studio Project Listing

代码覆盖率结果

enter image description here

3 个答案:

答案 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>