0

バージョン:15.4.1 - Visual Studioのエンタープライズ2017.NETのコアのためのコードカバレッジ2.0プロジェクト2017

私は、単純な.NETのコア2.0ライブラリプロジェクトを作成し、それにunittestのプロジェクトを追加しました。テスト - >コードカバレッジ分析 - >すべてのテストを実行します。コードカバレッジ結果は単体テストプロジェクトのコードカバレッジのみを報告します。

enter image description here

私はすでにWorking with Code Coverageに応じてプロジェクトを構成しました。これは私の.csprojです:

<Project Sdk="Microsoft.NET.Sdk"> 

    <PropertyGroup> 
    <TargetFramework>netcoreapp2.0</TargetFramework> 

    <IsPackable>false</IsPackable> 

    <!-- Required in both test/product projects. This is a temporary workaround for https://github.com/Microsoft/vstest/issues/800 --> 
    <DebugType>Full</DebugType> 
    </PropertyGroup> 

    <ItemGroup> 
    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.3.0" /> 
    <PackageReference Include="MSTest.TestAdapter" Version="1.2.0" /> 
    <PackageReference Include="MSTest.TestFramework" Version="1.2.0" /> 

    <!-- Required. Include this reference for coverage --> 
    <PackageReference Include="Microsoft.CodeCoverage" Version="1.0.3" /> 
    </ItemGroup> 

    <ItemGroup> 
    <ProjectReference Include="..\ClassLibrary1\ClassLibrary1.csproj" /> 
    </ItemGroup> 

</Project> 

アップデート: 私は、.NET 4.6.2プロジェクトとして溶液中で同じコードを加え、再びコードカバレッジを実行しました。だから私のVisual Studioが正しくコードカバレッジを実行するように設定されて

Code coverage covers the code of the class library

:それはあなたが期待するのと同じように、クラスライブラリをカバーしています。少なくとも.NET 4.6.2の場合。私は新鮮なVSインストールとVSTSでそれを試しました。

私はrepo with my sample codeを作成しました。他の誰かがこれを再現できますか?

答えて

0

私が完全に理解できなかった回避策があります。

<DebugType>Full</DebugType>すべてのプロジェクトを追加する必要があります。単体テストそのものではありません。

+0

正確に.Netコアのcprojファイルを追加しますか? – Idothisallday

関連する問題