共用方式為


Te.exe 指令選項

Usage

te.exe<test_binaries>[/appendWttLogging][/breakOn創建][/breakOnError][/breakOnInvoke][/彩色控制台輸出][ /控制台:flushWrites][/console:position=[x,y | current] [/console:size=<x,y>] [ /console:topmost ][/defaultAppDomain] [/disableConsoleLogging] [/disableTimeouts] [/dpiaware ] [/enableWttLogging] [/inproc] [/isolationLevel] [/labMode] [/list] [/listProperties] [/logFile:<name>] [/logOutput:<mode>] [/miniDumpOnCrash] [/miniDumpOnError] [/name:<testname>] [/outputFolder:<folderName>] [/p:<ParamName=>ParamValue<>] [/parallel] [/persistPictResults] [/pict:<OptionName=>OptionValue<>] [/rebootStateFile] [/reportLoadingIssue] [/runas:<RunAsType>] [/runIgnoredTests] [/runon:<MachineName>] [/screenCaptureOnError] [/select:<query>] [/sessionTimeout:<value>] [/stackFrameCount:<value>] [/stackTraceOnError] [/terminateOnFirstFailure] [/testDependencies:<files>] [/testmode:Loop] [/testmode:Stress] [/testTimeout:<value>] [/unicodeOutput:<true/false>] [/version] [/wttDeviceString:<值>] [/wttDeviceStringSuffix:<值>]

選取/執行命令

test_binaries

指定要執行的一或多個測試檔案 (以空格分隔)。 支援通配符。

te.exe test1.dll

演出: 在 test1.dll中執行所有測試。

te.exe test1.dll test2.dll test3.dll

演出: 在 test1.dll、test2.dll 和 test3.dll中執行所有測試。

te.exe *.dll

演出: 在目前目錄中的所有 dll 中執行所有測試。

/coloredConsoleOutput:<true/false>

指定 TAEF 是否應該輸出彩色主控台文字。 默認值為 true。 如果設定為 false,TAEF 會輸出具有預設主控台色彩的所有文字。

te.exe test1.dll /coloredConsoleOutput:false

/console:<optionName>=<value>

提供配置 TE 使用主控台的選項。 有下列選項可供使用:

/console:flushWrites

導致在寫入每一行後刷新控制台輸出 - 當 TE.exe的輸出被重定向時很有用。

/console:position=[x,y | current ]

設定主控台視窗相對於主要監視器角落的位置 (以像素為單位)。 使用 current 值來指定從重新開機繼續時應該儲存和使用目前的主控台位置。

/console:size=[ <x,y> | current ]

設定主控台視窗的大小 (以字元維度為單位)。 如有必要,螢幕緩衝區大小將增加以符合視窗的大小。 使用 current 值來指定從重新開機繼續時應該儲存和使用目前的主控台大小。

/console:topmost

在執行期間,讓主控台在桌面 z 順序中 te.exe「最頂端」執行。

/dpiaware

在標示為 DPI 感知的進程中執行測試,請參閱 高 DPI。 這也可以透過元資料 (“DpiAware”) 進行設置。

/inproc

在 TE.exe 程序本身內執行所有測試,而不是在 TE.ProcessHost.exe內執行。

te.exe test1.dll /inproc

Note

TE 僅支援在使用 /inproc 設定時一次執行一個測試 dll。

/isolationLevel:<Level>

指定執行 TAEF 測試時要使用的最低隔離層級。 如果此值與指定為中繼資料的 IsolationLevel 衝突,則該值會成為具有最嚴格範圍的隔離層級。 如需詳細資訊,請參閱 測試隔離。

te.exe test1.dll /isolationLevel:Class

/labMode

執行測試並移除潛在的封鎖 UI (例如,損毀測試的 Windows 錯誤報告對話方塊) 。

/list

列出所有 test_binaries 的名稱,以及其中的類別和方法。 如果指定選取準則,則只會列出符合準則的名稱。

 te.exe test1.dll test2.dll /list

 WEX::UnitTests::Test1
  WEX::UnitTests::Test1::Example1
  WEX::UnitTests::Test1::Example2
  WEX::UnitTests::Test1::Example3

 WEX::UnitTests::Test2
  WEX::UnitTests::Test2::Example1
  WEX::UnitTests::Test2::Example2
  WEX::UnitTests::Test2::Example3
 te.exe test1.dll test2.dll /select:@name='*Example2*' /list

 WEX::UnitTests::Test1
  WEX::UnitTests::Test1::Example2

 WEX: :UnitTests::Test2
  WEX::UnitTests::Test2::Example2

/listProperties

列出所有test_binaries的名稱和屬性,以及其中的類別和方法,以及 Setup 和 Teardown 函式名稱 (如果有的話)。 如果指定選取準則,則只會列出符合準則的名稱。

 te.exe test1.dll test2.dll /listProperties

 WEX::UnitTests::Test1
  WEX::UnitTests::Test1::Example1
   Setup: Test1Setup
   Teardown: Test1Teardown
   Property[ThreadingModel] = MTA
  WEX::UnitTests::Test1::Example2
   Setup: Test1Setup
   Teardown: Test1Teardown
   Property[ThreadingModel] = STA
  WEX::UnitTests::Test1::Example3
   Setup: Test1Setup
   Teardown: Test1Teardown
   Property[ThreadingModel] = STA

 WEX::UnitTests::Test2
  WEX::UnitTests::Test2::Example1
   Property[ThreadingModel] = MTA
  WEX::UnitTests::Test2::Example2
   Property[ThreadingModel] = STA
  WEX::UnitTests::Test2::Example3
   Property[ThreadingModel] = MTA
 te.exe test1.dll test2.dll /select:@name='*Example2*' /listProperties

 WEX::UnitTests::Test1
  WEX::UnitTests::Test1::Example2
   Setup: Test1Setup
   Teardown: Test1Teardown
   Property[ThreadingModel] = STA

 WEX::UnitTests::Test2
  WEX::UnitTests::Test2::Example2
   Property[ThreadingModel] = STA

/name:<testname>

基於測試名稱的選擇是 “/select:@Name='<testname>'” 的簡單替代方案。 <testname> 仍然可以包含通配符 (“*” 和 “?”),但不應包含在單引號內。 如果在命令提示字元中同時指定 /select 和 /name,則 /select 查詢優先,並忽略 /name。

te.exe test1.dll /name:*TestToLower

演出: 在方法名稱以 'TestToLower' 結尾的 test1.dll 中執行所有測試。 您可以使用選取準則作為 /select:@Name='*TestToLower'來表示相同的 。

te.exe test1.dll /name:*StringTest*

演出: 在命名空間、類別或方法名稱中包含片語 'StringTest' 的 test1.dll 中執行所有測試。

/outputFolder:<folderName>

指定要放置所有產生檔案的資料夾。 預設值是目前的目錄。 您可以使用環境變數,例如:

te.exe test1.dll /outputFolder:%TEMP%\\MyOutput

/p:<ParamName>=<ParamValue>

定義參數名稱=ParamName 和參數值=ParamValue 的執行階段參數。 這些參數可從測試方法或設定/清理方法存取。

te.exe test1.dll /p:x=5 /p:myParm=cool

您可以抓取 x 作為測試程式碼中數個支援的類型之一。 例如,您可以在這裡看到我們將其擷取為 int 和 WEX::Common::String:

                int x = 0;
                String xString;
                RuntimeParameters::TryGetValue(L"x", x);
                RuntimeParameters::TryGetValue(L"x", xString);

如需詳細資訊,請造訪 TAEF。執行階段參數 說明頁面。

/parallel

跨多個處理器平行執行測試。 測試必須選擇加入平行執行,方法是標示為「平行」中繼資料。

te.exe test1.dll /parallel

如需詳細資訊,請造訪 Parallel 說明頁面。

/persistPictResults

快取 PICT.exe 產生的結果,以在目前執行中使用 PICT DataSource 進行測試。 後續的測試執行將嘗試利用快取的結果,而不是針對相同的模型和種子檔案執行 PICT.exe。

/pict:<OptionName>=<OptionValue>

提供選項,以控制使用 PICT DataSource 呼叫測試時 PICT.exe。 設定其中一個選項目前會覆寫程式碼中所有相關聯的中繼資料。 有下列選項可供使用:

/Pict:訂單=3
透過 PICT.exe的 /o 命令選項傳遞值來設定組合的順序。

/pict:ValueSeparator=;
透過 /d 命令選項傳遞值來設定值分隔符號 PICT.exe。

/pict:aliasSeparator =+
透過 /a 命令選項傳遞值來設定別名分隔符號 PICT.exe。

Pict:NegativeValuePrefix=!
透過 /n 命令選項傳遞值來設定負值前置詞 PICT.exe。

/Pict:播種檔案=test.seed
透過 PICT.exe的 /e 命令選項傳遞值,以設定植入檔案的路徑。

/Pict:隨機=true
開啟或關閉 PICT 結果中的隨機性,並將 PICT 資料源記錄為使用的隨機種子。

/pict:隨機種子=33
透過 /r 命令選項傳遞值來設定隨機種子 PICT.exe。 設定此選項將開啟 Pict:Random,除非 Pict:Random 明確設定為 false。

/Pict:區分大小文字=true
設定為 true 時,會將 /c 命令選項傳遞至 PICT.exe來開啟區分大小寫。

/圖片:逾時=00:01:30
設定在終止其進程之前等待 PICT.exe 完成的時間。 值的格式為 [Day.]小時[:分鐘[:秒[.FractionalSeconds]]]] 的 FractionalSeconds]]。

/runas:<RunAsType>

在指定的環境中執行測試。 請參閱 RunAs 文件以取得詳細的使用資訊。

te.exe *.dll /runas:系統

演出: 以系統身分執行所有測試。

te.exe *.dll /runas:Elevated

演出: 以提升許可權的使用者身分執行所有測試。

te.exe *.dll /runas:限制

演出: 以非提高許可權的使用者身分執行所有測試。

te.exe *.dll /runas:LowIL

演出: 在低完整性程序中執行所有測試。

/runIgnoredTests

執行或列出 (如果與 /list/listProperties 結合使用) 所有測試,包括測試類別和測試方法,且 “忽略” 中繼資料設定為 “true”。 依預設,在執行期間和列出期間,會略過「忽略」中繼資料設定為「true」的測試類別和測試方法。

/runon:<MachineName>

在指定的電腦上遠端執行測試。 TAEF 會驗證、授權及部署必要的二進位檔來執行測試,並將所有信息記錄回原始控制台。 如需詳細的使用方式資訊,請參閱 跨機器測試執行 檔。

te.exe *.dll /runon:TestMachine1

演出: 在「TestMachine1」上遠端執行所有測試。

/select:<query>

從每個測試二進位檔選取測試時要使用的選取準則。 選取準則由下列一或多個組成:

@[屬性名稱] = [值作為字串]

@[屬性名稱] >= [值為浮點或整數]

@[屬性名稱] > [值為浮點數或整數]

@[屬性名稱] <= [值為浮點或整數]

@[屬性名稱] < [值為浮點數或整數]

  • 作為字串的屬性值必須位於單引號內。
  • 您可以使用 “and”、“or” 和 “not” (不區分大小寫) 來指定複合選取準則。
  • 屬性字串值支援透過 “*” 和 “?” 字元的萬用字元。
  • 對於 float 和整數值,“*” 字元也可以當做 'exists' 使用,但不能用於部分比對。 例如: /select:“@Priority=*” 有效,但 /select:“@Priority=4*” 無效。

te.exe test1.dll /select:“(@Name='*TestToLower' 或 @Owner='C2') 而不是 (@Priority < 3)”

演出: 在方法名稱以 'TestToLower' 結尾或 owner 為 'C2' 的 test1.dll 中執行所有測試;且優先權不低於3。

te.exe test1.dll test2.dll /select:@Priority=\*

演出: 在測試中繼資料中指定優先順序的 test1.dll 和 test2.dll 中執行所有測試。

te.exe test1.dll /select:@Name='*StringTest*'

演出: 在命名空間、類別或方法名稱中包含片語 'StringTest' 的 test1.dll 中執行所有測試。

/sessionTimeout:<value>

為整個執行 Te.exe設定工作階段逾時。 如果逾時到期,測試會話將會正常中止,而進程結束碼會表示發生逾時。

Note

逾時值必須以下列格式指定:

[Day.]Hour[:Minute[:Second[.FractionalSeconds]]]

Note

如果在 WTT 下執行,此值可用來確保 Wtt 記錄檔保持完整,即使 TAEF 會話逾時也一樣。

te.exe test1.dll /session超時:0:0:0.5

整個測試會話將在 5 秒後逾時。

te.exe test1.dll /session超時:0:0:45

整個測試會話將在 45 秒後逾時。

te.exe test1.dll /session超時:0:20

整個測試會話將在 20 分鐘後逾時。

te.exe test1.dll /sessionTimeout:5

整個測試會話將在 5 小時後逾時。

te.exe test1.dll /sessionTimeout:1.2

整個測試會話將在 1 天和 2 小時後逾時。

/terminateOnFirstFailure

第一次遇到測試失敗時終止測試執行。 會呼叫該測試的所有拆解作業,但所有後續測試都會標示為忽略。 由於已知問題,使用測試模式時,測試可能會繼續執行。

te.exe test1.dll /terminateOnFirstFailure

/testDependencies:<files>

指定使用 跨機器測試執行時要部署的其他測試相依性。 除非提供完整路徑,否則 TAEF 會相對於目前的目錄進行搜尋,而不是測試目錄。

te.exe *.dll /runon:TestMachine1 /TestDependencies:test*.jpg;file1.doc

演出: 在「TestMachine1」上遠端執行所有測試,並在執行任何測試之前將「test*.jpg」和「file1.doc」複製到遠端電腦。 每個檔案規格都可以包含萬用字元 (test.txt; test*.dll; 等) 以符合一或多個檔案。

/testTimeout:<value>

為整個執行 Te.exe設定全域測試逾時。 此值會覆寫可能已針對正在執行的指定測試設定的任何 測試逾時 中繼資料。

Note

逾時值必須以下列格式指定:

[Day.]Hour[:Minute[:Second[.FractionalSeconds]]]

Note

/inproc 一起使用時將被忽略。

te.exe test1.dll /test逾時:0:0:0.5

每個測試和設定/清理方法都會在 5 秒後逾時。

te.exe test1.dll /test超時:0:0:45

每個測試和設定/清理方法都會在 45 秒後逾時。

te.exe test1.dll /test超時:0:20

每個測試和設定/清理方法都會在 20 分鐘後逾時。

te.exe test1.dll /testTimeout:5

每個測試和設定/清除方法都會在5小時後逾時。

te.exe test1.dll /testTimeout:1.2

每個測試和設定/清理方法都會在 1 天 2 小時後逾時。

/unicodeOutput:<true/false>

當 TE 透過管道傳送至文字檔時,預設會輸出 Unicode。 唯一的例外是,如果您已要求附加至現有的 ANSII 檔案 (透過 '>>')。

若要覆寫此行為,您可以指定 /unicodeOutput:false。 這將強制 TE 始終將 ANSII 輸出到檔案中。

te.exe test1.dll /unicodeOutput:false > output.txt

記錄器設定

/appendWttLogging

啟用 WTT 記載時,會附加至日誌檔,而不是改寫它。 必須與 /enableWttLogging 搭配使用。

te.exe test1.dll /enableWttLogging /appendWttLogging

會在測試執行完成時建立或附加至名為 TE.wtl 的記錄檔。

/enableWttLogging

啟用 WTT 記錄;Wttlog.dll 必須在您的路徑中可用。

te.exe test1.dll /enableWttLogging

會在測試執行完成時產生名為 TE.wtl 的記錄檔。

/defaultAppDomain

在預設應用程式網域中執行受控測試。

te.exe managed.test1.dll /defaultAppDomain

/disableConsoleLogging

停用主控台日誌輸出;必須與 /enableWttLogging 搭配使用。

te.exe test1.dll /disableConsoleLogging /enableWttLogging

/logFile:<name>

指定要用作 wtt 日誌檔的名稱;必須與 /enableWttLogging 搭配使用。

te.exe test1.dll /logFile:myCustomLogFile.xml /enableWttLogging

會在測試執行完成時產生名為 myCustomeLogFile.xml 的記錄檔。

/logOutput:<mode>

設定記錄器的輸出電平。 有效值為:

  • :啟用一些額外的控制台輸出,例如在每個追蹤旁邊列印時間戳記。
  • :僅發出核心事件(開始、結束群組等)和錯誤。 記錄檔包含任何錯誤之前的較低優先順序詳細資料,以提供失敗的內容。
  • LowWithConsoleBuffering:與 Low 相同,但在記錄檔和主控台輸出中都包含失敗的內容。
  • 最低:與 相同,但主控台輸出僅包含錯誤、測試失敗和執行摘要。

/version

輸出詳細的版本資訊。

/wttDeviceString:<value>

完全覆寫 WexLogger 初始化 WttLogger 時所使用的 WttDeviceString。

te.exe test1.dll /wttDeviceString:$Console

/wttDeviceStringSuffix:<value>

將指定的值附加至 WexLogger 初始化 WttLogger 時所使用的預設 WttDeviceString。 如果也指定 wttDeviceString ,則會忽略。

te.exe test1.dll /wttDeviceStringSuffix:$Console

偵錯設定

/breakOnCreate

在具現化每個測試類別之前中斷偵錯工具。

te.exe test1.dll /breakOnCreate

/breakOnError

如果記錄錯誤或測試失敗,會中斷偵錯工具。

te.exe test1.dll /breakOnError

/breakOnInvoke

在叫用每個測試方法之前中斷偵錯工具。

te.exe test1.dll /breakOnInvoke

/disableTimeouts

停用執行期間的所有逾時。 這在偵錯時很有用,以防止 TAEF 等候正在偵錯的程式部分時逾時。

te.exe test1.dll /disableTimeouts

/miniDumpOnError

如果發生測試錯誤或失敗,則會取得並記錄迷你傾印。

te.exe test1.dll /miniDumpOnError

/miniDumpOnCrash

如果發生測試損毀,則會取得並記錄迷你傾印。

te.exe test1.dll /miniDumpOnCrash

/rebootStateFile

明確啟用 重新開機 測試的執行。

te.exe test1.dll /rebootStateFile:myFile.xml

/reportLoadingIssue

當 TAEF 無法載入測試 dll 時,會顯示錯誤描述對話框。 只能用於調查原生測試 dll 載入問題。

te.exe test1.dll /reportLoadingIssue

/screenCaptureOnError

如果發生測試錯誤或失敗,則擷取並記錄螢幕擷取。

te.exe test1.dll /screenCaptureOnError

/stackFrameCount:<value>

指定取得呼叫堆疊時要顯示的堆疊框架數目。 預設值為 50。

te.exe test1.dll /stackFrameCount:100

/stackTraceOnError

如果發生測試錯誤或失敗,則取得並記錄堆疊追蹤。

te.exe test1.dll /stackTraceOnError

測試模式

/testmode:Loop

允許使用兩個變數 LoopLoopTest 來控制執行。

  • 循環:控制整個執行的次數。 預設值 1。
  • LoopTest:控制執行單個測試的次數。 預設值為 10。

te.exe test1.dll /testmode:迴圈

演出: 在 test1.dll 內執行每個測試 10 次 ( LoopTest 的預設值)。 整個執行會執行一次 ( Loop 的預設值)。

te.exe test1.dll test2.dll /testmode:迴圈 /迴圈:3 /迴圈測試:1

演出: 在 test1.dll 中執行每個測試並 test2.dll 一次(由 LoopTest 決定)。 整個執行(test1.dll 和 test2.dll中的所有組合測試)運行 3 次 - 由 Loop 決定。

/testmode:Stress

在「壓力」測試模式中,TAEF 會無限期地執行測試,直到輸入 Ctrl+C 或將WM_CLOSE訊息傳送至 TAEF 的隱藏視窗為止。 /testmode:stress 必須與 /inproc 一起執行。

te.exe test1.dll /testmode:Stress /inproc

如需此模式支援的詳細資訊和其他參數,請參閱 測試模式