此擴充功能提供與 VSTest 的相容性層,讓依賴它的測試框架可以在 VSTest 模式下繼續運行(vstest.console.exe、一般 dotnet test、AzDo 上的 VSTest task、Visual Studio 和 Visual Studio Code 的測試總管...)。此擴充功能作為 Microsoft.Testing.Extensions.VSTestBridge 套件的一部分提供。
與 VSTest 的相容性
此延伸模組的主要目的是允許啟用新平臺的雙重模式,並同時提供相容性模式,讓一般工作流程能夠繼續運作,為 VSTest 使用者提供簡單且順暢的升級體驗。
執行設定支援
此擴充功能可讓您提供 VSTest .runsettings 檔案,但平台並不支援此檔案中的所有選項。 我們在下面描述最常使用 VSTest 組態選項的支援和不支援的設定、組態選項和替代方案。
由測試架構啟用時,您可以使用 --settings <SETTINGS_FILE> 來提供 .runsettings 檔案。
RunConfiguration 元素
不支援下列 Microsoft.Testing.Platform 元素:
| 節點 | 描述 | 原因/因應措施 |
|---|---|---|
| MaxCpuCount | 此設定用於控制進程層級的平行化程度。 使用 0 啟用最大進程層級平行處理原則。 | Microsoft.Testing.Platform 與 MSBuild 搭配使用時,此選項會 卸除至 MSBuild。 執行單一可執行檔時,此選項對 Microsoft.Testing.Platform 沒有任何意義。 |
| ResultsDirectory | 放置測試結果的目錄。 路徑相對於包含 .runsettings 檔案的目錄。 | 使用命令行選項 --results-directory 來判斷要放置測試結果的目錄。 如果指定的目錄不存在,則會建立它。 預設是在包含測試應用程式的目錄中的 TestResults。 |
| 目標框架版本 (TargetFrameworkVersion) | 此設定會定義用來執行測試的架構版本或架構系列。 | 這個選項會被忽略。
<TargetFramework> 或 <TargetFrameworks> MSBuild 屬性會決定應用程式的目標架構。 測試承載於最終應用程式中。 |
| 目標平台 | 此設定會定義用來執行測試的架構。 |
<RuntimeIdentifier> 決定裝載測試的最終應用程式架構。 |
| 將測試適配器錯誤視為警告 | 抑制測試配接器錯誤,使其變為警告。 | Microsoft.Testing.Platform 只允許從單一元件執行一種類型的測試,而且無法載入測試架構或其他基礎結構元件將會變成無法略過的錯誤,因為它表示無法探索或執行某些測試。 |
| TestAdaptersPaths | TestAdapters 所在目錄的一個或多個指向路徑 | Microsoft.Testing.Platform 不使用測試配接器的概念,並且不允許動態載入延伸模組,除非它們是建置的一部分,且透過建置目標自動或手動在 Program.cs中註冊。 |
| TestCaseFilter | 用於限制將執行測試的篩選器。 | 從 v1.6 開始,支援此 runsettings 項目。 在此版本之前,您應該改用命令行選項 --filter。 |
| TestSessionTimeout | 允許使用者在超過指定的逾時時終止測試工作階段。 | 沒有替代選項。 |
| DotnetHostPath | 指定自訂用來執行測試主機的 dotnet 主機路徑。 | Microsoft.Testing.Platform 不會執行任何額外的 dotnet 解析。 這完全取決於 dotnet 解析本身的方式,這可由環境變數控制,例如 DOTNET_HOST_PATH。 |
| 將無測試視為錯誤 | 未發現任何測試時,返回非零的退出代碼。 | Microsoft.Testing.Platform 在預設情況下會在測試應用程式中未探索或執行任何測試時發生錯誤。 您可以使用 --minimum-expected-tests 預設為 1 的命令行參數,來設定元件中預期要尋找的測試數目。 |
DataCollectors 元素
Microsoft.Testing.Platform 未使用數據收集器。 而是具有程式內和跨程式的擴充功能概念。 每個擴充功能都是由其各自的組態檔或透過命令行來設定。
最重要的是,停止回應 和 當機 擴充功能,以及 程式碼涵蓋 擴充功能。
LoggerRunSettings 元素
Microsoft.Testing.Platform 中的記錄器是透過命令行參數或程式代碼中的設定來設定。
VSTest 篩選支援
此延伸模組也可讓您使用 VSTest 篩選機制來探索或只執行符合篩選表達式的測試。 如需詳細資訊,請參閱 篩選選項詳細數據 一節,或如需架構特定詳細數據,請參閱 執行選擇性單元測試 頁面。
當測試框架啟用時,您可以使用 --filter <FILTER_EXPRESSION>。
TestRun 參數
您可以使用 --test-parameter格式的 key=value 命令行選項,將參數傳遞至測試回合。 這個選項可以多次使用,為每個要設定的參數指定一次。
然後,測試回合中的測試架構可以存取這些參數:
- 若為 MSTest,請使用 Properties
- 若為 NUnit,請使用 TestContext.TestParameters