web-dev-qa-db-ja.com

NUnit3TestAdapterを.Net Standard 2.0で動作させるにはどうすればよいですか?

NUnit3TestAdapterを.Net Standard 2.0で動作させるにはどうすればよいですか?

次のエラーが表示されます。

1> C:\ Nikeza\Mobile\Nikeza.Mobile\Tests\ExampleBased.fsproj:

警告NU1701:パッケージ 'NUnit3TestAdapter 3.9.0'は、プロジェクトターゲットフレームワーク '.NETStandard、Version = v2.0'ではなく、 '。NETFramework、Version = v4.6.1'を使用して復元されました。

このパッケージは、プロジェクトと完全に互換性がない場合があります。 1> ExampleBased-> C:\ Nikeza\Mobile\Nikeza.Mobile\Tests\bin\Debug\netstandard2.0\ExampleBased.dll

23
Scott Nimrod

プロジェクトファイルの何が問題であるかを診断するのに十分な情報を提供しませんが、NUnitアダプタの3.9.0は​​.NET Standard 2.0およびF#で動作します。テストプロジェクトは.NET Standardをターゲットにしていると思います。 .NET Coreまたは.NET 4.6.1+をターゲットにする必要があります。テストプロジェクトは実行可能ファイルのように扱われ、.NET標準ではなく特定のフレームワークをターゲットにする必要があります。ただし、テストするコードは.NET Standardでもかまいません。

ドキュメント dotnet testとNUnitを使用した.NET CoreのF#ライブラリのユニットテスト に従って、NUnitのドキュメント 。NET Coreおよび.NET Standard を読んでください。

プロジェクトファイルは次のようになります。

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

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

    <IsPackable>false</IsPackable>
  </PropertyGroup>

  <ItemGroup>
    <Compile Include="Tests.fs" />
    <Compile Include="Program.fs" />
  </ItemGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.5.0" />
    <PackageReference Include="NUnit" Version="3.9.0" />
    <PackageReference Include="NUnit3TestAdapter" Version="3.9.0" />
  </ItemGroup>

  <ItemGroup>
    <ProjectReference Include="..\MathService\MathService.fsproj" />
  </ItemGroup>

</Project>
25
Rob Prouse