vS2017を.NET Coreテストプロジェクトで動作させるのを手伝ってくれる人はいますか?
VS 2017テンプレートから.NET CoreのMSTestとxUnitユニットテストプロジェクトの両方を作成してみました。どちらもテストエクスプローラーでは動作しません(検出されません)が、プロジェクトフォルダーから_dotnet test
_を実行すると正常に動作します。
再現する手順:
Unit Test Project (.NET Core)
またはxUnit Test Project (.NET Core)
テンプレートを選択しますRun All
_を試してくださいこの時点で、出力ウィンドウに0個のテストが検出されたことが示されます。
_.csproj
_ファイル:
_<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp1.1</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.0.0" />
<PackageReference Include="xunit" Version="2.2.0" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.2.0" />
</ItemGroup>
</Project>
_
.NET Framework(.NET Coreではなく、完全)を対象とするテンプレートからMSTest単体テストプロジェクトを作成しようとした場合、機能しました。
何か案は?
私は同じ行動を経験したと思います。 VSがテストを検出できるように、ソリューションを構築してください。それ以外の場合は、csprojファイルを共有して、正しいパッケージを参照していることを確認してください。私は:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp1.1</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.0.0" />
<PackageReference Include="xunit" Version="2.2.0" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.2.0" />
</ItemGroup>
</Project>
PDATE:少し遊んでみましたが、VSは<OutputType>Exe</OutputType>
なしではテストを見つけることができません
PDATE 2: VSが場合によっては追加されるので、csprojにも以下を追加してみてください。
<ItemGroup>
<Service Include="{82a7f48d-3b50-4b1e-b82e-3ada8210c358}" />
</ItemGroup>
この問題は、VS 2017で.NET CoreのMSTestユニットテストが検出されないことで発生しました。
テスト出力は、ゼロのテストを発見したことのみを報告しました。
実行中dotnet test MyProject.csproj -t
コマンドプロンプトで、プロジェクトのRuntimeFrameworkVersionに一致する正しい.NET Coreランタイムがインストールされていないことを通知しました。
最新のVS 2017更新プログラムと.NET Coreランタイムをインストールすると、問題が解決しました。
同じ問題がありました。 nugetから「Microsoft.NET.Test.Sdk」パッケージをインストールすることで解決しました。
私もこの問題を抱えており、私のプロジェクトとテストプロジェクトの.csprojファイルのターゲットフレームワークのバージョンが同じであることを確認することで修正されました。
<TargetFramework>netcoreapp1.0</TargetFramework>
project.json
からcsproj
への移行後も同じ問題が発生しました。 net451
ターゲットフレームワークを削除し、netcoreapp1.1
のみを残して解決しました。今では完璧に機能し、毎回発見しています。
もちろん、多くのフレームワークターゲットが必要な場合は、実行しないでください。CLIを使用してテストしてください...
また、複数のテストプロジェクトと同じ出力ディレクトリがある場合、*。csprojファイルにPackageReferenceの混合バージョンがないことも確認してください。また、テストプロジェクトのパッケージを更新する MSTest.TestAdapterおよびMSTest.TestFramework
プロセッサアーキテクチャのプロジェクト設定の不整合が原因である可能性があります。テストプロジェクトのターゲットは、テストの既定のプロセッサアーキテクチャと一致する必要があります。