Visual Studio 2017ですべてのXUnitテストを実行できません。Version 15.6.4
TestExploerで表示でき、そこから実行すると次のようになります。
[27.03.2018 12:21:46 Informational] ------ Load Playlist started ------
[27.03.2018 12:21:46 Informational] ========== Load Playlist finished
(0:00:00,0215566) ==========
[27.03.2018 12:22:27 Informational] Executing test method 'Lebara.Remittance.Test.ServiceImplementation.RiskEngineServiceTest.ShouldTest'
[27.03.2018 12:22:27 Informational] ------ Run test started ------
[27.03.2018 12:22:29 Warning] Multiple test adapters with the same uri
'executor://xunit/VsTestRunner2' were found. Ignoring adapter
'Xunit.Runner.VisualStudio.TestAdapter.VsTestRunner'. Please uninstall the
conflicting adapter(s) to avoid this warning.
[27.03.2018 12:22:29 Warning] [xUnit.net 00:00:00.0209459] Skipping:
Lebara.Remittance.Test (could not find dependent Assembly
'Microsoft.Extensions.DependencyModel, Version=1.1.0')
[27.03.2018 12:22:29 Warning] No test is available in C:\ReposNew\Lebara.Remittance\Lebara.Remittance\Lebara.Remittance.Test\bin\Debug\Lebara.Remittance.Test.dll. Make sure that test discoverer & executors are registered and platform & framework version settings are appropriate and try again.
[27.03.2018 12:22:29 Informational] ========== Run test finished: 0 run
(0:00:02,1543479) ==========
[27.03.2018 12:34:19 Informational] Executing test method 'Lebara.Remittance.Test.ServiceImplementation.RiskEngineServiceTest.ShouldTest'
[27.03.2018 12:34:19 Informational] ------ Run test started ------
[27.03.2018 12:34:20 Warning] Multiple test adapters with the same uri
'executor://xunit/VsTestRunner2' were found. Ignoring adapter
'Xunit.Runner.VisualStudio.TestAdapter.VsTestRunner'. Please uninstall the
conflicting adapter(s) to avoid this warning.
[27.03.2018 12:34:20 Warning] [xUnit.net 00:00:00.0200861] Skipping:
Lebara.Remittance.Test (could not find dependent Assembly
'Microsoft.Extensions.DependencyModel, Version=1.1.0')
[27.03.2018 12:34:20 Warning] No test is available in C:\ReposNew\Lebara.Remittance\Lebara.Remittance\Lebara.Remittance.Test\bin\Debug\Lebara.Remittance.Test.dll. Make sure that test discoverer & executors are registered and platform & framework version settings are appropriate and try again.
[27.03.2018 12:34:20 Informational] ========== Run test finished: 0 run
(0:00:00,7088116) ==========
%TEMP%\VisualStudioTestExplorerExtensions
を削除しようとしました-何も助けませんでした。
問題は、数日前にそれらを実行できることです。私は何も変えませんでした。何が起こっているのか分かりません。
また、私はこの警告がありました
[27.03.2018 12:22:29 Warning] Multiple test adapters with the same uri
'executor://xunit/VsTestRunner2' were found. Ignoring adapter
'Xunit.Runner.VisualStudio.TestAdapter.VsTestRunner'. Please uninstall the
conflicting adapter(s) to avoid this warning.
[27.03.2018 12:22:29 Warning] [xUnit.net 00:00:00.0209459] Skipping:
Lebara.Remittance.Test (could not find dependent Assembly
'Microsoft.Extensions.DependencyModel, Version=1.1.0')
XUnitに問題がありました。いくつかの重要なこと:
1)「Microsoft Visual Studio Test Platform」拡張機能が有効になっていることを確認します
2)「テスト=>テスト設定=>デフォルトプロセッサアーキテクチャ」がビルドと一致していることを確認します。
3)Nugetパッケージ「xunit.runner.visualstudio」をインストールします
.NET CoreまたはASP.NET Coreを使用している場合、xunitから( https://xunit.github.io/docs/getting-started-dotnet-core.html ):
Visual Studioでテストを実行する
テストの検出または実行に問題がある場合は、Visual Studio内の破損したランナーキャッシュの犠牲者である可能性があります。このキャッシュをクリアするには、Visual Studioのすべてのインスタンスをシャットダウンしてから、フォルダー%TEMP%\ VisualStudioTestExplorerExtensionsを削除します。また、ソリューションが単一バージョンのVisual StudioランナーNuGetパッケージ(xunit.runner.visualstudio)に対してのみリンクされていることを確認してください。
Visual Studio Community(またはVisual Studioの有料版)がある場合、Visual Studioの組み込みのテストランナー(テストエクスプローラー)内でxUnit.netテストを実行できます。残念ながら、これにはVisual StudioのExpressエディションは含まれていません(代わりに無料のCommunity Editionにアップグレードする必要があります)。
ソリューションエクスプローラーでプロジェクトを右クリックし、[NuGetパッケージの管理]を選択します。次の2つのパッケージをインストールする必要があります。
xunit.runner.visualstudio (version 2.3.1 or later) Microsoft.NET.Test.Sdk (version 15.0.0 or later; we recommend using whatever the latest RTM build is)
テストエクスプローラーが表示されていることを確認します(テスト>ウィンドウ>テストエクスプローラーに移動します)。プロジェクトをビルドするたびに、ランナーはプロジェクトの単体テストを発見します。発見後、発見されたテストのリストが表示されます。
[テストエクスプローラー]ウィンドウの[すべて実行]リンクをクリックすると、テストの実行時にテストエクスプローラーウィンドウで結果が更新されます。
失敗したテストをクリックして、失敗メッセージとスタックトレースを表示できます。スタックトレース行をクリックすると、失敗したコード行に直接移動できます。
また言及
複数のターゲットに対してテストを実行する
(たとえば、一部のプロジェクトがCoreをターゲットとし、他のプロジェクトが.NET 4.5をターゲットとする場合。)
別の可能性:
Xunit 2.3.0+を使用していることを確認してください
XUnitを2.4.0-beta.1
にアップグレードしたとき、数週間前に問題に遭遇しました。 Visual StudioのテストエクスプローラーがbothxUnitテストアダプターを選択し、上記のメッセージで失敗しました。
残念ながら、それは単純な問題ではありませんでした 最新のVSアップデートへのアップグレード 私はすでに最新版を実行していました。私はすでにMicrosoft.NET.Test.Sdk
パッケージの最新バージョンも使用していました。最新の安定バージョン2.3.1
へのダウングレードも機能せず、VSはstill両方のアダプターを選択していました。
最終的に、ソリューションのパッケージフォルダーからバージョン固有のxUnit
フォルダーを手動で削除する必要がありましたandNuGetの%userprofile%\.nuget\packages
のキャッシュ。
Managing the global packages, cache, and temp folders
の ローカルフォルダーのクリア も役立つはずです。高速インターネット接続を使用している場合、「nuke it」コマンドを試してください。
nuget locals all -clear