web-dev-qa-db-ja.com

Visual Studio 2017でXunitテストを実行できません

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')
11
Rostyslav Fedyk

XUnitに問題がありました。いくつかの重要なこと:

1)「Microsoft Visual Studio Test Platform」拡張機能が有効になっていることを確認します

2)「テスト=>テスト設定=>デフォルトプロセッサアーキテクチャ」がビルドと一致していることを確認します。

3)Nugetパッケージ「xunit.runner.visualstudio」をインストールします

12
FrankyHollywood

.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+を使用していることを確認してください

7
Steve Padmore

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
4