Microsoft.Testing.Platform テスト プロジェクトは、直接実行 (またはデバッグ) できる実行可能ファイルとしてビルドされます。 コンソールやコマンドを実行する追加のテストはありません。 エラーが発生した場合、アプリは 0 以外の終了コードで終了します。これは、ほとんどの実行可能ファイルに一般的です。 既知の終了コードの詳細については、「Microsoft.Testing.Platform の終了コード」を参照してください。
ヒント
コマンド ライン オプションを使用して、特定の --ignore-exit-code を無視できます。
TestingPlatformCommandLineArguments MSBuild プロパティを使用して、プロジェクト ファイル内の特定のテスト プロジェクトに適用されるコマンド ライン オプションを設定することもできます。 一般的なユース ケースの 1 つは、すべてのテストが無視されたテスト プロジェクトの場合です。通常、終了コード 8 で終了します (テスト セッションではゼロ テストが実行されました)。 このシナリオでは、プロジェクト ファイルの PropertyGroup の下に次のコードを追加できます。
<TestingPlatformCommandLineArguments>$(TestingPlatformCommandLineArguments) --ignore-exit-code 8</TestingPlatformCommandLineArguments>
Important
既定では、Microsoft.Testing.Platform はテレメトリを収集します。 オプトアウトの詳細とオプションについては、「Microsoft.Testing.Platform テレメトリ」を参照してください。
テストを実行する別の方法として、dotnet publish を使用してテスト プロジェクトを発行し、アプリを直接実行します。 たとえば、./Contoso.MyTests.exe を実行します。 一部のシナリオでは、dotnet build を使って実行可能ファイルを生成することもできますが、ネイティブ AOT などのエッジ ケースを考慮する必要がある場合があります。
dotnet run を使用する
dotnet run コマンドを使用して、テスト プロジェクトをビルドして実行できます。 これはテストを実行する最も簡単な方法ですが、最も時間がかかることがあります。
dotnet run を使用すると、必要に応じてテスト プロジェクトが確実に再作成されるため、ローカルでテストを編集したり実行したりする場合に役立ちます。
dotnet run は、現在のフォルダー内のプロジェクトも自動的に検索します。
dotnet run --project Contoso.MyTests
dotnet run の詳細については、「dotnet run」を参照してください。
dotnet exec を使用する
dotnet exec または dotnet コマンドは、既にビルドされているテスト プロジェクトを実行するために使われます。これは、アプリケーションを直接実行する代わりの方法です。
dotnet exec には、ビルドされたテスト プロジェクトの dll へのパスが必要になります。
dotnet exec Contoso.MyTests.dll
または
dotnet Contoso.MyTests.dll
注
テスト プロジェクト実行可能ファイル (*.exe) へのパスを指定すると、次のエラーが発生します。
Error:
An assembly specified in the application dependencies manifest
(Contoso.MyTests.deps.json) has already been found but with a different
file extension:
package: 'Contoso.MyTests', version: '1.0.0'
path: 'Contoso.MyTests.dll'
previously found assembly: 'S:\t\Contoso.MyTests\bin\Debug\net10.0\Contoso.MyTests.exe'
dotnet exec の詳細については、dotnet exec に関するページを参照してください。
dotnet test を使用する
Microsoft.Testing.Platform には、vstest.console.exe および dotnet test との互換性レイヤーが用意されており、新しい実行シナリオを有効にしながら、以前と同様にテストを実行できるようにします。
dotnet test Contoso.MyTests.dll
こちらも参照ください
.NET