dotnet vstest

この記事の対象: ✔️ .NET 6 SDK 以降のバージョン

Important

dotnet vstest コマンドは、アセンブリの実行に使用できるdotnet testに置き換えられます。 dotnet テストを参照してください。

名前

dotnet vstest - 指定したアセンブリからテストを実行します。

概要

dotnet vstest [<TEST_FILE_NAMES>] [--Blame] [--Collect:<DATA_COLLECTOR_NAME>]
    [--Diag:<PATH_TO_LOG_FILE>] [-e|--Environment:<NAME="VALUE">]
    [--Framework:<FRAMEWORK>] [--InIsolation] [-lt|--ListTests:<FILE_NAME>]
    [--logger:<LOGGER_URI/FRIENDLY_NAME>] [--Parallel]
    [--Platform:<PLATFORM_TYPE>] [--ResultsDirectory:<PATH>]
    [--Settings:<SETTINGS_FILE>] [--TestAdapterPath:<PATH>]
    [--TestCaseFilter:<EXPRESSION>] [--Tests:<TEST_NAMES>] [[--] <args>...]

dotnet vstest -?|--Help

Description

dotnet vstest コマンドは、VSTest.Consoleコマンド ライン アプリケーションを実行して、自動単体テストを実行します。 この記事のオプションは、 vstest.consoleに転送されます。 コマンド ライン オプションの完全な一覧については、コマンド ライン オプションvstest.console.exe 参照してください。

論争

  • TEST_FILE_NAMES

    指定したアセンブリからテストを実行します。 複数のテスト アセンブリ名をスペースで区切ります。 ワイルドカードがサポートされています。

オプション

  • --Blame

    変更履歴モードでテストを実行します。 このオプションは、問題のあるテストを分離してテスト ホストがクラッシュする場合に役立ちます。 クラッシュ前のテスト実行の順序をキャプチャする Sequence.xml として、現在のディレクトリに出力ファイルが作成されます。

  • --Collect:<DATA_COLLECTOR_NAME>

    テスト実行のデータ コレクターを有効にします。 たとえば、--Collect:"Code Coverage"は組み込みのVisual Studio コレクターを使用してコード カバレッジを収集し、--Collect:"XPlat Code Coverage"はクロスプラットフォームの Coverlet コレクターを使用します。 詳細については、「Monitor and analyze test run」 (テストの実行のモニターと分析) を参照してください。

  • --Diag:<PATH_TO_LOG_FILE>

    テスト プラットフォームの詳細ログを有効にします。 ログは、指定されたファイルに書き込まれます。

  • -e|--Environment:<NAME="VALUE">

    テスト ホスト プロセスの環境変数の値を設定します。 存在しない場合は変数を作成し、存在する場合はオーバーライドします。 このオプションを使用すると、分離されたプロセスでテストが強制的に実行されます。 複数の変数を設定するには、このオプションを複数回指定します。

  • --Framework:<FRAMEWORK>

    テストの実行に使用されるターゲット .NET Framework バージョン。 有効な値の例として、 .NETFramework,Version=v7.0があります。 サポートされているその他の値は、 Framework40Framework45FrameworkCore10、および FrameworkUap10です。

  • --InIsolation

    分離されたプロセスでテストを実行します。 これにより、 vstest.console.exe テストのエラーでプロセスが停止する可能性は低くなりますが、テストの実行速度が低下する可能性があります。

  • -lt|--ListTests:<FILE_NAME>

    特定のテスト コンテナーから検出されたすべてのテストを一覧表示します。

  • --logger:<LOGGER_URI/FRIENDLY_NAME>

    テスト結果のロガーを指定します。

    • Team Foundation Server にテスト結果を発行するには、 TfsPublisher ロガー プロバイダーを使用します。

      /logger:TfsPublisher;
          Collection=<team project collection url>;
          BuildName=<build name>;
          TeamProject=<team project name>
          [;Platform=<Defaults to "Any CPU">]
          [;Flavor=<Defaults to "Debug">]
          [;RunTitle=<title>]
      
    • Visual Studio テスト結果ファイル (TRX) に結果をログに記録するには、 trx ロガー プロバイダーを使用します。 このスイッチは、指定されたログ ファイル名を持つファイルをテスト結果ディレクトリに作成します。 LogFileName指定されていない場合は、テスト結果を保持する一意のファイル名が作成されます。

      /logger:trx [;LogFileName=<Defaults to unique file name>]
      
  • --Parallel

    テストを並列で実行します。 既定では、マシン上で使用可能なすべてのコアを使用できます。 MaxCpuCount ファイルの RunConfiguration ノードの下に プロパティを設定して、コアの明示的な数を指定します。

  • --Platform:<PLATFORM_TYPE>

    テストの実行に使用されるターゲット プラットフォーム アーキテクチャ。 有効な値は、 x86x64ARMARM64S390xPpc64leRiscV64、および LoongArch64です。

  • --ResultsDirectory:<PATH>

    テスト結果ディレクトリが存在しない場合は、指定されたパスに作成されます。

  • --Settings:<SETTINGS_FILE>

    テストの実行時に使用する設定。

  • --TestAdapterPath:<PATH>

    テストの実行で、特定のパス (ある場合) のカスタム テスト アダプターを使用します。

  • --TestCaseFilter:<EXPRESSION>

    指定された式に一致するテストを実行します。 <EXPRESSION><property>Operator<value>[|&<EXPRESSION>]形式で、演算子は =!=、または ~のいずれかです。 演算子 ~ には 'contains' セマンティクスがあり、 DisplayNameなどの文字列プロパティに適用できます。 かっこ () は、部分式をグループ化するために使用されます。 詳細については、「 TestCase フィルター」を参照してください。

  • --Tests:<TEST_NAMES>

    指定された値と一致する名前でテストを実行します。 コンマを使用して複数の値を区切ります。

  • -?|--Help

    コマンドの短いヘルプを出力します。

  • @<file>

    その他のオプションについては、応答ファイルを読み取ります。

  • args

    アダプターに渡す追加の引数を指定します。 引数は、フォーム <n>=<v>の名前と値のペアとして指定されます。ここで、 <n> は引数名、 <v> は引数の値です。 複数の引数を指定する場合は、空白で区切ります。

例示

mytestproject.dllでテスト 実行する:

dotnet vstest mytestproject.dll

mytestproject.dllでテスト 実行し、カスタム名を持つカスタム フォルダーにエクスポートします。

dotnet vstest mytestproject.dll --logger:"trx;LogFileName=custom_file_name.trx" --ResultsDirectory:custom/file/path

mytestproject.dllとmyothertestproject.exe でテスト実行します。

dotnet vstest mytestproject.dll myothertestproject.exe

TestMethod1テストを実行します。

dotnet vstest /Tests:TestMethod1

TestMethod1テストとTestMethod2テストを実行します。

dotnet vstest /Tests:TestMethod1,TestMethod2

こちらも参照ください