web-dev-qa-db-ja.com

プロジェクトをビルドせずにコマンドラインでxUnit test DLLを実行する方法

.NET Coreにプロジェクトがあり、xUnitを使用してテストをビルドしました。次に、展開プロセスでテストを実行したいと思いました。これまでに行ったこと:

私はコマンドラインでこのコマンドを使用しました:

dotnet test [project address]  ... 

動作していますが、問題は、このコマンドが.csprojファイルではなく、dllです。

インストールして使用しましたxunit.runner.consoleですが、.NET Coreプロジェクトでは機能しません。

dotnet xunitコマンド、これも役に立ちませんが、dllはプロジェクトフォルダを使用しています。

ビルドしたテストを実行するために何を使用できますか(それらを再度ビルドする必要はありません)、入力としてテストdllを指定できるコマンドラインツールで、テストを実行します。

15
Meysam

ここにはいくつかのオプションがあります。

1. vstestコマンドを使用します

dotnet vstest Foo.dll

dllからテストを実行します。 xUnitテストがサポートされています。 ドキュメント

単一のdllファイルだけでは十分ではありません。 binフォルダーからdotnet vstestを実行します。このフォルダーには通常、次のものが含まれています。

Foo.dll
Foo.deps.json
Foo.runtimeconfig.json
Foo.runtimeconfig.dev.json
Microsoft.Extensions.Logging.Test.dll
xunit.runner.reporters.netstandard15.dll
xunit.runner.utility.netstandard15.dll
xunit.runner.visualstudio.dotnetcore.testadapter.dll

このbin出力は、テストを実行するために必要です。

2.テスト実行時にプロジェクトのビルドをスキップします

dotnet test --no-build
27
Ilya Chumakov