執行數據驅動測試
請先確定您已瞭解如何撰寫數據驅動測試,以及如何使用 TAEF執行測試,再開始使用使用TAEF 執行DataDrivenTests的秘訣和訣竅。 重新整理選取查詢如何與TAEF搭配運作的記憶體可能很有説明。
本節特別討論如何執行數據表型數據驅動測試,但同樣的基本準則也適用於 PICT 型和 WMI 型數據驅動測試。
如果您只想執行所有測試,包括數據驅動測試,則與使用TAEF一般執行測試的方式並無不同。 讓我們考慮使用TAEF一起執行 CPP\DataDrivenExample 和 CSharp\DataDrivenExample 的範例。 請記住,根據預設,TAEF 會執行跨程序測試。 如果您想要在proc 中執行它們,請使用 「/inproc」 參數。
TE.exe Examples\CPP.DataDriven.Example.dll Examples\CSharp.DataDriven.Example.dll
查看指定元數據的 xml 檔案和頭檔。 只執行 priority=1 的數據驅動測試,如下所示:
TE.exe Examples\*.Tests.dll /select:"@DataSource=* And @Priority=1"
請記住,xml 檔案中數據列層級指定的元數據會覆寫 TestMethod 撰寫層級所指定的元數據。
讓我們使用TAEF來探索數據驅動測試執行的強大功能。 例如,您想要只重現 FirstTable() 函式中的第三個數據列。 您可以使用資料列的索引來執行此動作,其為 2(索引從 0 開始):
TE.exe Examples\CPP.DataDriven.Example.dll /select:"@Name='*FirstTable*' and @Data:index=2"
請注意,選取準則現在有新的命名空間 「@Data:“,可用於數據驅動測試。 當您執行上述測試時,您會發現,除了在數據驅動測試的情況下附加至測試名稱的一般「#index」,而是附加至測試名稱的「#Black」,這是為此數據列指定的特殊「名稱」元數據。 如需詳細資訊,請參閱 在數據列層級 指定元數據。 儘管這個特殊名稱,您仍然可以使用名稱來選取。 索引選取範圍可能很遠,可以選取真正大型數據集的數據列範圍。 例如(假設 - 不是範例),如果您有具有 100 個數據列的數據驅動測試(最大索引 = 99),而且您只想執行索引大於 10 且小於 20 的數據列,您現在可以輕鬆地將此指定為:
TE.exe Examples\*.Tests.dll /select:"@Name='*MyDataDrivenTest*' and @Data:index > 10 and @Data:index < 20"
很多時候,您會想要根據特定數據值重新建立,而不需要經歷尋找其索引的麻煩。 在此情況下,您可以再次使用 “@Data:” 命名空間。 現在,在單元測試的原生範例中,假設您只想要在 “Theme” 為 “AeroBasic” 時執行這些案例。
TE.exe Examples\CPP.DataDriven.Example.dll Examples\CSharp.DataDriven.Example.dll /select:"@Data:Theme='AeroBasic'"
這會顯示在控制臺上,如下所示:
StartGroup: WEX::TestExecution::Examples::DataDrivenTests::SecondTable#2 [Process: 3588; Thread: 4584]
I am in second table.
Theme supplied as AeroBasic
EndGroup: WEX::TestExecution::Examples::DataDrivenTests::SecondTable#2 [Passed]
Summary: Total=1, Passed=1, Failed=0, Blocked=0, Not Run=0, Skipped=0
您也可以利用 /listproperties 進行數據驅動測試,以查看數據驅動測試的數據集和元數據(在測試方法層級和數據列層級指定的元數據組合)。 所以,
TE.exe Examples\CSharp.DataDriven.Examples.dll /listproperties
會列出所有方法(datadriven 和其他方法),以及可在各種層級取得和指定的元數據和數據值。