6

私の人生の間、新しいmsbuildベースのnetcoreapp1.0 xunitプロジェクトテンプレートからVisual Studio 2017で単体テストを行うことはできません。Visual Studio 2017で動作するXUnitテストを取得できませんRC

Visual Studio(デベロッパー向け)とCLIのdotnet testの両方でユニットテストを自動化されたビルドプロセスで使用する必要がありますが、一貫して動作することはできません。 、

を既存のソリューションに新しいプロジェクトを作成し、.NETコア>xUnitのテストプロジェクトを選択します。ここでは

は、私がしようとしているものです。 Visual Studioから

ビルドプロジェクト、デフォルトのテストが表示され、正常に実行され、今で取得するには、PowerShellのプロンプトからdotnet testを実行します。

csprojファイルと
> dotnet test 
Test run for D:\...\bin\Debug\netcoreapp1.0\MyProj.dll(.NETCoreApp,Version=v1.0) 
dotnet exec needs a managed .dll or .exe extension. The application specified was 'C:\Program' 

またはDOTNET試験:

> dotnet test MyProject.csproj 
(same error as above) 

> dotnet test ..\MySolution.sln 
Couldn't find a project to run test from. Ensure a project exists in D:\... 
Or pass the path to the project 

私が追加した場合xunit.runner.consoleまたはxunit.runner.msbuild nugetパッケージの場合、Visual Studio内で動作する単体テストを停止します。

どのようにして両方の作業を同時に行うことができますか?

ありがとうございます!

+0

@tommed、これはVisual Studioのコマンドプロンプトからビルド/実行できますか?この問題は、おそらくVS 2017のmsbuildがappローカルなので、msbuildの場所、使用される.targetsとクラスライブラリの場所を特定するための特別なenv変数があることを意味します。 –

+0

@MichaelBraudeはそれに感謝します。 _Developerコマンドプロンプト_と_MSBuildコマンドプロンプトでも同じことを試してみましたが、同じエラーが発生しました。 – tommed

+0

NET Coreについてではありませんが、これをコメントとして投稿しています:VS2017完全なNET 4.5フレームワーク、同じ問題:ユニットテストが見つかりません。 Nugetを使って自分のプロジェクトから 'xunit.runner.visualstudio'をアンインストールして再インストールする必要がありました。その後、ソリューションを再構築し、テストが見つかりました。お役に立てれば。 – Sharky

答えて

7

プレビュー3にプレビュー3のバグがあり、プレビュー4で修正されました。実行時にコマンドラインからエスケープされず、デフォルトでC:\Program Files\dotnetにインストールされているため、常に失敗します。

プレビュー3を引き続き使用する場合は、システムPATHの環境変数を編集し、C:\Program Files\dotnetC:\Progra~1\dotnetに置き換えるのが最も簡単な回避策です。

+0

関連するバグ:https://github.com/dotnet/cli/issues/4832 –

+0

あなたは素晴らしいです - ありがとう!!!!! – tommed

6

これは非常に良い答えではありませんが、dotnet-test-xunitはproject.jsonファイルのみをサポートしています。 VS 2017では、csprojファイルに切り替える必要があります。

私はxUnitのさえずりフィードにこれを見つけた:あなたは.NETのコア/ W VS2017 RCで使用@xunitをしようとしている場合は、dotnet-test-xunitを削除し、代わりにxunit.runner.visualstudio 2.2ベータ4を使用し 。

+2

この情報を提供していただきありがとうございます。'dotnet-test-xunit'がVS2017を壊しているという結論に至りました。' xunit.runner.visualstudio'のnugetパッケージは既にインストールされていますが、cliテストを実行する方法はありません。 – tommed

2

最新のRC.3では、テストで発見されなかった問題がありました。組み込みのテストエクスプローラを実行すると、出力にMicrosoft.DotNet.InternalAbstractions 1.0.0がないことがわかりました。これは.NET Coreの以前のバージョンでも問題でした。解決方法は同じです.Nugetからパッケージをインストールしてください。

+0

これは、xUnitでのテストに関連する問題を修正しました。 Visual Studio 2017RCは、驚くほど高額のエラーがプロジェクトに導入され、テストはすぐにデュオで行われます。 – Hekkaryk

関連する問題