HOW TO:停用和啟用測試
當您執行的測試群組中含有某個測試時,可以停用此測試,使其暫時無法使用。 您隨時都能重新啟用此測試。 但是為什麼要停用測試? 您可以考量下列可能性:
產品組建含有足以造成當機的 Bug。 這個 Bug 位於其中一個測試所實行的程式碼中。 這項測試是循序執行的許多測試之一。 由於這項測試會間接觸發當機,因此您的測試回合在序列中無法通過此測試。 解決方式是在損毀的程式碼部分記錄 Bug,並在 Bug 修復之前,先停用此測試。 接下來,測試序列即可跳過該測試,繼續執行下去。
在測試回合中特定的測試發現了 Bug,並加以記錄。 若要避免每次執行選取範圍的測試時,重複發現同一個已知的錯誤,便可停用該測試。
注意事項
關聯的 Bug 修正之後,請記得重新啟用此測試。
如果您所執行的測試清單中含有停用的測試,則該測試清單內只有啟用的測試 (若有的話) 會執行。 如果測試清單中不含任何已啟用的測試,該測試清單本身會被停用。
在單元測試中使用 Ignore 屬性
使用 Ignore 屬性說明如何使用 IgnoreAttribute 屬性 (Attribute) 來標示單元測試方法。 使用這個屬性會改變測試的可用性,但它和其他停用和啟用測試的方法不同,如下:
如停用測試和啟用測試所述,您可以使用測試清單編輯器來停用和啟用任何類型的測試。 但是 Ignore 屬性只能用於測試方法。 這表示您只能對單元測試套用 Ignore 屬性。
啟用和停用測試的旗標會儲存在測試中繼資料 (Metadata) 檔案中。
單元測試的 Ignore 屬性則位於單元測試的原始程式檔 (Source File) 中,與測試的其他屬性和原始程式碼一併存在。 這表示,如果您在測試清單編輯器中停用某個單元測試,稍後又使用 MSTest.exe 命令列公用程式執行此測試,這個測試仍會執行。 但若您利用 Ignore 屬性標示某個單元測試,然後編譯組件,再使用 MSTest.exe 執行測試,則這個測試並不會執行。 原因是 Ignore 屬性已經成為測試的一部分了,所以不會執行測試。
這兩種方式適合用在不同的案例中:
Ignore 屬性。 您是一位開發人員,負責撰寫實際執行程式碼和測試程式碼。 您想進行大量變更且正進行到中途,但知道其中一個單元測試會壞掉一陣子。 因此當您簽入此測試時,會利用 Ignore 屬性標示指出您不預期這個測試會有作用。
停用和啟用。 您在組建實驗室工作,而且不具有正在執行之測試原始程式碼的存取權。 在這個案例中,您只能使用測試清單編輯器的啟用和停用功能。
停用測試
若要停用測試
若要停用單一測試,請在測試清單編輯器中,以滑鼠右鍵按一下已啟用的測試,再按一下 [停用]。 若要停用數個測試,請在按一下測試的資料列時同時按下 CTRL 或 SHIFT,以反白顯示您想停用的已啟用測試。 接下來請以滑鼠右鍵按一下選取的資料列,然後按一下 [停用]。
-或-
在測試清單編輯器或 [測試檢視] 視窗中選取測試,然後按 F4,顯示 [屬性] 視窗。 然後將 [測試已啟用] 屬性設為 False。
啟用測試
若要啟用測試
若要啟用單一測試,請在測試清單編輯器中,以滑鼠右鍵按一下已停用的測試,再按一下 [啟用]。 若要啟用數個測試,請在按一下測試的資料列時同時按下 CTRL 或 SHIFT,以反白顯示想啟用的已停用測試。 接著請以滑鼠右鍵按一下選取的資料列,然後按一下 [啟用]。
-或-
在測試清單編輯器或 [測試檢視] 視窗中選取測試,然後按 F4,顯示 [屬性] 視窗。 然後將 [測試已啟用] 屬性設為 True。
使用 Ignore 屬性
若要使用 Ignore 屬性
開啟單元測試以編輯其原始程式碼。 若要進行這項操作,請在測試清單編輯器中按兩下單元測試。
單元測試所在的原始程式檔隨即開啟。
將 IgnoreAttribute 屬性加入至單元測試中。
此測試便會停用。 在 [屬性] 視窗中,[測試已啟用] 屬性會自動設為 False。 若想詳細得知這個動作的範圍,請參閱前一個章節<在單元測試中使用 Ignore 屬性>。
若要重新啟用測試,請刪除 Ignore 屬性或將它標記為註解。
請參閱
工作
HOW TO:從 Microsoft Visual Studio 執行自動化測試