web-dev-qa-db-ja.com

ドットネットテストがテスト結果フォルダーを作成しない

ASP.NET Core 2.0ビルドプロセスの一部として、dotnet testコマンドを追加しました。 Windowsバッチファイルとして追加しました。

これが私のコマンドです。

dotnet test "MyProject.csproj" --no-restore --results-directory "MyProject\TestResults" --verbosity minimal

コマンドラインから実行した場合の出力は次のとおりです。

enter image description here

したがって、すべて正常に動作するように見えますが、テスト結果/テスト出力は作成されません。

10
DomBurf

ドットネットテストからテスト結果を出力するには、-xml /some/path/out.xmlを渡すか、dotnet test --work:"mypath/myresult.xml"のようなworkパラメーターを使用します。詳細については、以下のスレッドを参照してください。


また、一般に、テスト結果のロガーを指定する引数-l|--logger <LoggerUri/FriendlyName>を指定する必要があります。

例えば。:

dotnet test "myproject.csproj" --logger "trx;LogFileName=path\to\tests\folder\results.trx"またはdotnet test "myproject.csproj" -l:"trx;LogFileName=path\to\tests\folder\results.trx"

生成されたtrxファイルをVSTS/TFSのテスト結果として利用可能にするには、「テスト結果の公開」タスクを使用できます。

enter image description here

12
Andy Li-MSFT

dotnet testオプション--results-directoryを使用してテスト結果を出力するには、--loggerも設定する必要があります。

-xmlおよび--workオプションは、テストCLIで提供されるオプションの一部ではないため、機能しなくなりました。過去に-xmlを使用したことを覚えていますが、それは機能しましたが、もう機能しません。

CLI .NET Core 2.xのすべてのオプションを見ることができます here

テスト結果を特定のフォルダーに公開するには、以下のコマンドを使用する必要があります。

dotnet test --logger "trx;logfilename=mytests.trx" --results-directory ./somefolder/subfolder

または

dotnet test --logger "trx;LogFileName=./somefolder/subfolder/mytests.trx"

trxファイルはXMLファイルなので、mytests.xmlではなくmytests.trx

VSTSを使用する場合、テスト用の「.NET Core」タスクと「テスト結果の公開」タスクで上記のコマンドを使用して、ビルドページに表示されるテストを公開できます。

「.NET Core」タスクは、以下のスクリーンショットに従って結果を公開する場所を説明します。

enter image description here

すべて完了すると、ビルドページは次のようになります。

enter image description here

22
Alex.H