次の方法で共有


テストを実行およびデバッグする

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

こちらも参照ください