この記事は、.NET 10 SDK 以降のバージョン ✔️ 適用されます
名前
dotnet test - Microsoft.Testing.Platform で単体テストを実行するために使用される .NET テスト ドライバー。
概要
dotnet test
[--project <PROJECT_PATH>]
[--solution <SOLUTION_PATH>]
[--test-modules <EXPRESSION>]
[--root-directory <ROOT_PATH>]
[--max-parallel-test-modules <NUMBER>]
[-a|--arch <ARCHITECTURE>]
[-c|--configuration <CONFIGURATION>]
[-f|--framework <FRAMEWORK>]
[--os <OS>]
[-r|--runtime <RUNTIME_IDENTIFIER>]
[-v|--verbosity <LEVEL>]
[--no-build]
[--no-restore]
[--no-ansi]
[--no-progress]
[--output <VERBOSITY_LEVEL>]
[--no-launch-profile]
[--no-launch-profile-arguments]
[<args>...]
dotnet test -h|--help
Description
Microsoft Testing Platform では、dotnet test は VSTest よりも高速に動作します。 テスト関連の引数は、テスト プロジェクトに登録されている拡張機能に関連付けられているため、修正されなくなりました。 さらに、MTP では、テストの実行時に globbing フィルターがサポートされます。 詳細については、「 Microsoft.Testing.Platform を参照してください。
Warnung
global.jsonを使用して Microsoft.Testing.Platform をオプトインすると、dotnet test はすべてのテスト プロジェクトで Microsoft.Testing.Platform を使用することが想定されます。 いずれかのテスト プロジェクトで VSTest が使用されている場合はエラーです。
暗黙的な復元
復元を必要とするすべてのコマンド (dotnet restore、dotnet new、dotnet build、dotnet run、dotnet test、dotnet publish など) によって暗黙的に実行されるため、dotnet pack を実行する必要がなくなりました。 暗黙的な復元を無効にするには、--no-restore オプションを使用します。
dotnet restoreなどの、明示的な復元が意味のある一部のシナリオや、復元が行われるタイミングを明示的に制御する必要があるビルド システムでは、dotnet restore は引き続き有用なコマンドです。
NuGet フィードの管理方法については、dotnet restore のドキュメントをご覧ください。
オプション
注
一度に使用できるオプションは、 --project、 --solution、または --test-modulesのいずれかです。 これらのオプションを組み合わせることはできません。
また、--test-modulesを使用する場合、--arch、--configuration、--framework、--os、または --runtimeを指定することはできません。 これらのオプションは、既にビルドされているモジュールには関係ありません。
--project <PROJECT_PATH>実行するプロジェクト ファイルのパスを指定します (フォルダー名または完全なパス)。 指定しない場合は、既定で現在のディレクトリに設定されます。
--solution <SOLUTION_PATH>実行するソリューション ファイルのパス (フォルダー名または完全パス) を指定します。 指定しない場合は、既定で現在のディレクトリに設定されます。
--test-modules <EXPRESSION>.NET のファイル globbing を使用してテスト モジュールをフィルター処理します。 これらのテスト モジュールに属するテストのみが実行されます。 .NET でファイル globing を使用する方法の詳細と例については、「ファイル の globbing」を参照してください。
--root-directory <ROOT_PATH>--test-modulesオプションのルート ディレクトリを指定します。--test-modulesオプションでのみ使用できます。--max-parallel-test-modules <NUMBER>並列で実行できるテスト モジュールの最大数を指定します。 既定値は Environment.ProcessorCountです。
-
-a|--arch <ARCHITECTURE>ターゲット アーキテクチャを指定します。 これは、ランタイム識別子 (RID) を設定する簡単な構文です。指定した値は、既定の RID と組み合わされます。 たとえば、
win-x64マシンで--arch x86と指定すると、RID はwin-x86に設定されます。 このオプションを使用する場合は、-r|--runtimeオプションは使用しないでください。 .NET 6 Preview 7 以降で利用できます。 -
-c|--configuration <CONFIGURATION>ビルド構成を定義します。 ほとんどのプロジェクトの既定値は
Debugですが、プロジェクトでビルド構成設定をオーバーライドできます。 -f|--framework <FRAMEWORK>テストを実行するターゲット フレームワークのターゲット フレームワーク モニカー (TFM)。 ターゲット フレームワークもプロジェクト ファイルに指定する必要があります。
-
--os <OS>ターゲット オペレーティング システム (OS) を指定します。 これは、ランタイム識別子 (RID) を設定する簡単な構文です。指定した値は、既定の RID と組み合わされます。 たとえば、
win-x64マシンで--os linuxと指定すると、RID はlinux-x64に設定されます。 このオプションを使用する場合は、-r|--runtimeオプションは使用しないでください。 .NET 6 以降で使用可能です。 -r|--runtime <RUNTIME_IDENTIFIER>テスト対象のターゲット ランタイム。
.NET SDK 7 以降で使用できる短い形式
-r。注
グローバル
RuntimeIdentifierプロパティ (明示的に、または--arch、--runtime、または--osを使用して) ソリューションのテストを実行することはサポートされていません。 代わりに、個々のプロジェクト レベルでRuntimeIdentifierを設定します。-
-v|--verbosity <LEVEL>コマンドの詳細レベルを設定します。 指定できる値は、
q[uiet]、m[inimal]、n[ormal]、d[etailed]、およびdiag[nostic]です。 詳細については、LoggerVerbosityを参照してください。 --no-buildテスト プロジェクトが実行される前にビルドされていないことを指定します。 また、
--no-restoreフラグも暗黙的に設定します。--no-restoreコマンドの実行時に暗黙的な復元が実行されないように指定します。
--no-ansiANSI エスケープ文字の画面への出力を無効にします。
--no-progress画面への進行状況の報告を無効にします。
--output <VERBOSITY_LEVEL>テストを報告するときの出力の詳細度を指定します。 有効値は
NormalまたはDetailedです。 既定値はNormalです。--no-launch-profilelaunchSettings.json を使用してアプリケーションを構成しないでください。 既定では、
launchSettings.jsonが使用され、環境変数とコマンド ライン引数をテスト実行可能ファイルに適用できます。--no-launch-profile-arguments起動プロファイルで
commandLineArgsによって指定された引数を使用してアプリケーションを実行しないでください。--property:<NAME>=<VALUE>1 つ以上の MSBuild プロパティを設定します。 オプションを繰り返して、複数のプロパティを指定します。
--property:<NAME1>=<VALUE1> --property:<NAME2>=<VALUE2>短い形式の
-pを--propertyに使用することができます。 同じことが/property:property=valueに適用され、その短い形式は/pです。 使用可能な引数の詳細については、 dotnet msbuild のドキュメントを参照してください。-
-?|-h|--helpコマンドの使用方法を示した説明を出力します。
argsテスト アプリケーションに渡す追加の引数を指定します。 複数の引数を指定する場合は、空白で区切ります。 渡す内容の詳細と例については、「Microsoft.Testing.Platform の概要」を参照し、Microsoft.Testing.Platform 拡張機能 してください。
ヒント
特定のプロジェクトに追加の引数を指定するには、
TestingPlatformCommandLineArgumentsMSBuild プロパティを使用します。
注
ファイルへのトレース ログを有効にするには、環境変数 DOTNET_CLI_TEST_TRACEFILE を使用して、トレース ファイルへのパスを指定します。
例示
現在のディレクトリのプロジェクトまたはソリューションでテストを実行します。
dotnet testTestProjectプロジェクトでテストを実行します。dotnet test --project ./TestProject/TestProject.csprojTestProjectsソリューションでテストを実行します。dotnet test --solution ./TestProjects/TestProjects.slnTestProject.dllアセンブリを使用してテストを実行します。dotnet test --test-modules "**/bin/**/Debug/net10.0/TestProject.dll"ルート ディレクトリ
TestProject.dllアセンブリを使用してテストを実行します。dotnet test --test-modules "**/bin/**/Debug/net10.0/TestProject.dll" --root-directory "c:\code"コード カバレッジを使用して、現在のディレクトリでテストを実行します。
dotnet test --coverageTestProject(バイナリ ログ) 引数を-blに指定して、msbuildプロジェクトでテストを実行します。dotnet test --project ./TestProject/TestProject.csproj -blMSBuild
TestProjectプロパティをDefineConstantsに設定して、DEVプロジェクトでテストを実行します。dotnet test --project ./TestProject/TestProject.csproj -p:DefineConstants="DEV"
こちらも参照ください
.NET