共用方式為


從命令列使用 VSTest.console

從命令列使用 VSTest.Console.exe,執行任一單元或自動程式碼 UI 測試。 其已針對效能最佳化,並用來取代 Visual Studio 2012 或更新版本中的 MSTest.exe。

以任何順序在 VSTest.Console.exe 命令列上指定多個選項。 這些選項列在下表的「一般命令列選項」。

vstest.console.exe 以不區分大小寫方式解譯這些選項和您指定的值。

下表列出了 VSTest.Console.exe 的所有選項,以及選項的簡短描述。 在命令列輸入 VSTest.Console /? 也能看到類似的摘要。 VSTest.Console.exe 位於此處:C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow

注意事項注意事項

基於相容性,Visual Studio 2012 的 MSTest 配接器也可以在舊版模式下運作 (相當於使用 mstest.exe 執行測試)。在舊版模式下,不會使用新 VS11 的 TestCaseFilter 功能。已指定 .testsettings 檔案、.runsettings 檔案中 forcelegacymode 設為 true 或使用屬性 (如 HostType) 時,配接器會切換到舊版模式。

注意事項注意事項

若要在 ARM 架構電腦上執行自動化測試,您必須使用 VSTest.Console.exe。

一般命令列選項

/Settings:[檔案名稱]

使用像資料收集器之類的其他設定執行測試。

範例:/Settings:Local.RunSettings

/Tests:[測試名稱]

執行測試,其名稱符合所提供的值。

若要提供多個值,請使用逗號來區隔。

範例:/Tests:TestMethod1,testMethod2

警告

/Tests 命令列選項不能與 /TestCaseFilter 命令列選項同時使用。

/Enablecodecoverage

在測試回合中啟用資料診斷配接器 CodeCoverage。

如果沒有使用設定檔來指定,則使用預設設定。

/InIsolation

在獨立的處理序中執行測試。

這樣會降低 vstest.console.exe 處理序在測試中錯誤處停止的可能性,但是測試的速度可能會比較慢。

/UseVsixExtensions

這可讓 vstest.console.exe 處理序使用或略過測試回合中已安裝的 VSIX 擴充功能 (如果有的話)。

範例:/UseVsixExtensions:true

/Platform:[平台類型]

要用於測試執行的目標平台架構。

有效值為 x86、x64 和 ARM。

/Framework: [Framework 版本]

要用於測試執行的目標 .NET Framework 版本。

有效值為 Framework35、Framework40 和 Framework45。

範例:/Framework:framework40

/TestCaseFilter:[運算式]

執行符合指定之運算式的測試。

<Expression> 的格式為 <property>=<value>[|<Expression>]。

範例:/TestCaseFilter:"Priority=1"

範例:/TestCaseFilter:"TestCategory=Nightly|FullyQualifiedName=Namespace.ClassName.MethodName"

警告

/TestCaseFilter 命令列選項不能與 /Tests 命令列選項同時使用。

/Logger:[URI/易記名稱]

指定測試結果的記錄器。

範例:若要將結果記錄到 Visual Studio 測試結果檔案 (TRX),請使用 /Logger:trx

範例:若要將測試結果發行到 Team Foundation Server,請使用 TfsPublisher:

/logger:TfsPublisher;

Collection=<team project url>;

BuildName=<build name>;

TeamProject=<team project name>;

[;Platform=<Defaults to “Any CPU”>]

[;Flavor=<Defaults to “Debug”>]

[;RunTitle=<title>]

注意事項注意事項

TfsPublisher 記錄器需要 Visual Studio 2012 與 [Visual Studio 2012.1] (含) 以後版本。

/ListTests:[檔案名稱]

列出從指定之測試容器探索到的測試。

/ListDiscoverers

列出已安裝的測試探索程式。

/ListExecutors

列出已安裝的測試執行程式。

/ListLoggers

列出已安裝的測試記錄器。

/ListSettingsProviders

列出已安裝的測試設定提供者。

VSTest.Console.exe 和測試檔案一起使用

vstest.console.exe 的語法如下:

Vstest.console.exe [TestFileNames] [Options]

下列範例示範如何從命令列使用 VSTest.Console.exe:

Vstest.console.exe myTestProject.dll

下列範例示範如何從命令列使用 VSTest.Console.exe 與多個測試檔案。 這個做法中以空格分隔測試檔案名稱:

Vstest.console.exe myTestFile.dll myOtherTestFile.dll

範例

下列範例示範如何使用一些選項來執行 Vstest.console.exe。 在這個案例中,將會執行 myTestFile.dll 檔案中的測試,並且收集 Local.RunSettings 裡和隔離處理序內指定的資料。 此外,它會根據 "Priority 1" 篩選要執行的測試案例,並將結果記錄到 .trx 檔案。

vstest.console.exe  myTestFile.dll /Settings:Local.RunSettings /InIsolation /TestCaseFilter:"Priority=1" /Logger:trx

請參閱

概念

從命令列執行自動化的測試

Compatibility of Test Settings with Visual Studio 2010

其他資源

從舊版 Visual Studio 升級測試