共用方式為


dotnet vstest

此文章適用於:✔️ .NET 6 SDK 與更新版本

這很重要

dotnet vstest 命令會由 dotnet test取代,現在可用來執行元件。 請參閱 dotnet test

名稱

dotnet vstest - 從指定的元件執行測試。

概要

dotnet vstest [<TEST_FILE_NAMES>] [--Blame] [--Diag <PATH_TO_LOG_FILE>]
    [--Framework <FRAMEWORK>] [--InIsolation] [-lt|--ListTests <FILE_NAME>]
    [--logger <LOGGER_URI/FRIENDLY_NAME>] [--Parallel]
    [--ParentProcessId <PROCESS_ID>] [--Platform] <PLATFORM_TYPE>
    [--Port <PORT>] [--ResultsDirectory<PATH>] [--Settings <SETTINGS_FILE>]
    [--TestAdapterPath <PATH>] [--TestCaseFilter <EXPRESSION>]
    [--Tests <TEST_NAMES>] [[--] <args>...]

dotnet vstest -?|--Help

Description

dotnet vstest 命令會執行 VSTest.Console 命令列應用程式來執行自動化單元測試。

Arguments

  • TEST_FILE_NAMES

    從指定的元件執行測試。 用空格分隔多個測試組件名稱。 支援萬用字元。

選項

  • --Blame

    在歸責模式下執行測試。 此選項有助於隔離導致測試主機當機的問題測試。 它會在目前目錄中建立輸出檔案作為 Sequence.xml ,以擷取當機前測試執行順序。

  • --Diag <PATH_TO_LOG_FILE>

    啟用測試平台的詳細記錄。 日誌會寫入提供的檔案。

  • --Framework <FRAMEWORK>

    用於測試執行的目標 .NET Framework 版本。 有效值的範例是 .NETFramework,Version=v7.0。 其他支援的值包括 Framework40Framework45FrameworkCore10FrameworkUap10

  • --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

    平行執行測試。 依預設,機器上所有可用的核心都可供使用。 透過設定 MaxCpuCountrunsettings 檔案中節點下的RunConfiguration屬性來指定明確的核心數目。

  • --ParentProcessId <PROCESS_ID>

    負責啟動目前進程的父進程的進程識別碼。

  • --Platform <PLATFORM_TYPE>

    用於測試執行的目標平台架構。 有效值為 x86x64ARM

  • --Port <PORT>

    指定通訊端連線及接收事件訊息的埠。

  • --ResultsDirectory:<PATH>

    如果不存在,則會在指定的路徑中建立測試結果目錄。

  • --Settings <SETTINGS_FILE>

    執行測試時要使用的設定。

  • --TestAdapterPath <PATH>

    在測試回合中,使用指定路徑 (如果有的話) 的自訂測試配接器。

  • --TestCaseFilter <EXPRESSION>

    執行符合指定運算式的測試。 <EXPRESSION>的格式<property>Operator<value>[|&<EXPRESSION>]為 ,其中 Operator 是 、 !=~之一=。 運算子 ~ 具有「包含」語意,適用於字串屬性,例如 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.dllmyothertestproject.exe中運行測試:

dotnet vstest mytestproject.dll myothertestproject.exe

執行 TestMethod1 測試:

dotnet vstest /Tests:TestMethod1

執行 TestMethod1TestMethod2 測試:

dotnet vstest /Tests:TestMethod1,TestMethod2

另請參閱