Share via


HOW TO:取得程式碼涵蓋範圍資料

更新:2007 年 11 月

您可以一行一行或甚至一個區塊一個區塊的方式,測量測試的效能。這項測量可以透過設定測試回合以產生程式碼涵蓋範圍資料來達成。產生的資料會顯示在 [程式碼涵蓋範圍結果] 視窗和您的原始程式碼檔中。

當成品 (通常是二進位檔案) 已經過「檢測」(Instrument),並在執行測試回合期間載入記憶體時,就會收集程式碼涵蓋範圍資料。取得程式碼涵蓋範圍資料程序會說明如何選取檔案以進行檢測。

注意事項:

根據預設,在您執行單元測試時,就會測量程式碼涵蓋範圍。因此,執行單元測試時,只有在程式碼涵蓋範圍已經關閉,或者您想要檢測其他成品,以便蒐集相關的程式碼涵蓋範圍資料時,才需要執行取得程式碼涵蓋範圍資料中的步驟。

完成測試回合之後,您可以檢視程式碼涵蓋範圍資料。如需詳細資訊,請參閱檢視程式碼涵蓋範圍資料。

您也可以合併多組程式碼涵蓋範圍資料,如 HOW TO:合併程式碼涵蓋範圍資料中的說明。如需與合併程式碼涵蓋範圍資料有關之各種情況的詳細資訊,請參閱使用合併的程式碼涵蓋範圍資料

檢測及重新簽署組件中所說明的,已檢測之強式名稱的組件必須重新簽署。您可以透過指定金鑰檔,啟用重新簽署。如需詳細資訊,請參閱重新簽署組件。

當您執行單元測試以外的測試時,必須明確地檢測成品,才能取得程式碼涵蓋範圍資料。例如,執行手動測試的軟體測試人員可能會啟動特定程式。如果已檢測程式的二進位檔案,就會收集到程式碼涵蓋範圍資料。如需詳細資訊,請參閱手動測試概觀

取得程式碼涵蓋範圍資料

若要取得程式碼涵蓋範圍資料

  1. 為您的程式碼建立測試。這可能是單元測試,或是其他能夠執行具有符號之程式碼的測試類型,以及您已選取要檢測之適當二進位碼檔案的測試類型。

    如需有關如何建立單元測試的詳細資訊,請參閱 HOW TO:產生單元測試

  2. 開啟單元測試將要使用的測試回合組態。

    如需詳細資訊,請參閱 HOW TO:指定測試回合組態

  3. 按一下 [程式碼涵蓋範圍]。

  4. 在 [選取要檢測的成品] 底下,選取方案的 DLL、可執行檔或目錄。例如,如果您的方案名稱為 ClassLibrary1,請選取 ClassLibrary1.dll 組件的核取方塊,其路徑為 <方案目錄>\ClassLibrary1\bin\Debug。

    注意事項:

    您也可以選取包含測試專案檔的 DLL。這會產生測試專案中之方法的程式碼涵蓋範圍資料,而不會只產生實際執行程式碼中之方法的程式碼涵蓋範圍資料。

  5. 按一下 [套用],然後按一下 [關閉]。

  6. 執行一或多項測試。

    如需詳細資訊,請參閱 HOW TO:執行選取的測試

    在執行測試的同時,就會收集到程式碼涵蓋範圍資料。如需檢視程式碼的詳細資訊,請參閱檢視程式碼涵蓋範圍資料。

    注意事項:

    執行 VSPerfMon.exe can 可以與收集的程式碼涵蓋範圍資料進行互動。如需詳細資訊,請參閱Test 版中的疑難排解中的<程式碼涵蓋範圍資料和 VSPerfMon.exe>章節。

    在 64 位元處理序中執行的應用程式,無法收集程式碼涵蓋範圍資料。因此,如果您在測試此種應用程式時要求程式碼涵蓋範圍資料,測試引擎會在要檢測之組件的「可攜式執行」(PE) 標頭中設定 “32BIT” 旗標。當測試回合完成後,該組件會返回其原始狀態。

重新簽署組件

重新簽署組件

  1. 開啟單元測試將要使用的測試回合組態。

    如需詳細資訊,請參閱 HOW TO:指定測試回合組態

  2. 按一下 [程式碼涵蓋範圍]。

  3. 按一下 [重新簽署金鑰檔] 文字方塊旁的省略符號 (...)。

    [選擇金鑰檔] 對話方塊隨即出現。

  4. 選取金鑰檔,然後按一下 [開啟]。

  5. 在測試回合組態編輯器中,按一下 [套用],然後按一下 [關閉]。

    如果您所測試的多個組件已經簽署,Visual Studio 會嘗試重新簽署所有以您指定之金鑰檔進行簽署的強式名稱組件。如需詳細資訊,請參閱檢測及重新簽署組件中的<重新簽署組件>。

檢視程式碼涵蓋範圍資料

必要條件:如取得程式碼涵蓋範圍資料中所述,您已經執行產生過程式碼涵蓋範圍資料的測試。

檢視程式碼涵蓋範圍資料

  1. 在 [測試結果] 工具列上,按一下 [程式碼涵蓋範圍結果]。或者,按一下 [測試] 功能表上的 [視窗],再按 [程式碼涵蓋範圍結果]。

    [程式碼涵蓋範圍結果] 視窗隨即開啟。

  2. 在 [程式碼涵蓋範圍結果] 視窗中,[階層架構] 欄會顯示一個節點,該節點包含了上次測試回合所收集到的所有程式碼涵蓋範圍資料。如果發生錯誤,錯誤訊息會顯示在這個位置,而非根節點中。如果出現節點,請展開節點。

    注意事項:

    根據預設,這個測試回合節點會以 <user name>@<computer name> <date> <time> 的格式命名。您可以在 [選項] 對話方塊的 [一般] 頁面中變更預設的命名結構描述。如需詳細資訊,請參閱 HOW TO:指定測試回合組態

  3. 展開實際執行程式碼中組件、命名空間和類別的節點。

    類別內的資料列代表它的方法。這個資料表中的資料行會顯示個別方法、類別和整個命名空間的涵蓋範圍統計資料。

  4. 按兩下類別內其中一個方法的資料列。

    原始程式碼檔會開啟至您選擇的方法。在這個檔案中,您可以看到反白顯示的程式碼。捲動一下,您會看到這個檔案中其他方法的涵蓋範圍。若要變更程式碼行的反白顯示色彩,請參閱變更程式碼涵蓋範圍資料的顯示。

    注意事項:

    您可以按一下 [測試工具] 工具列上的按鈕,以切換顯示檔案內的程式碼涵蓋範圍,並且巡覽至檔案內的上一行或下一行程式碼。

  5. (選擇性) 如果您已選取測試專案 DLL 的核取方塊,則可以開啟包含單元測試的原始程式碼檔,以查看測試方法是否已執行。

顯示不同的程式碼涵蓋範圍計算

程式碼涵蓋範圍計算會在 [程式碼涵蓋範圍結果] 視窗中,以資料行顯示程式碼涵蓋範圍總數。其中有多達八個資料行可以顯示測試回合所涵蓋之程式碼的計算,以及未涵蓋之程式碼的計算。您可以啟用這些資料行,以百分比或數字總值顯示計算。您也可以啟用資料行,顯示程式碼行和程式碼區塊的計算。

若要顯示或隱藏程式碼涵蓋範圍資料行

  1. 以滑鼠右鍵按一下 [程式碼涵蓋範圍結果] 視窗中的任何資料。

  2. 按一下 [新增/移除資料行]。

  3. 選取要顯示之項目旁邊的核取方塊,並清除要移除之項目旁邊的核取方塊。

  4. 按一下 [確定]。

變更程式碼涵蓋範圍反白顯示的顯示

依預設會使用特殊的色彩來指示特定的程式碼是否已涵蓋在已執行的測試中,並且會以淺藍色顯示已在執行回合中執行的程式碼行,並以紅褐色顯示未執行的程式碼行。顯示米黃色的程式碼行,則表示有些程式碼已執行過,有些則還沒執行。

變更程式碼涵蓋範圍資料的顯示

  1. 按一下 [工具],再按一下 [選項]。

    [選項] 對話方塊隨即出現。

  2. 展開 [環境]。

  3. 按一下 [字型和色彩]。

  4. 在 [顯示設定] 底下,選取 [文字編輯器]。

  5. 在 [顯示項目] 底下,選取您要變更顯示色彩的程式碼涵蓋範圍區域。共有 [涵蓋範圍未觸及的區域]、[涵蓋範圍部分觸及的區域] 和 [涵蓋範圍觸及的區域] 三個選項。

  6. 變更這個程式碼涵蓋範圍區域的設定。您可以變更前景色彩和背景色彩,以及文字的字型、字型大小和粗體。

  7. (選擇性) 變更其他程式碼涵蓋範圍區域的設定。

  8. 完成後,請按一下 [確定]。

請參閱

工作

HOW TO:執行選取的測試

HOW TO:指定測試回合組態

HOW TO:套用測試執行組態

Test 版中的疑難排解

概念

檢測及重新簽署組件

使用合併的程式碼涵蓋範圍資料

其他資源

HOW TO:產生單元測試