共用方式為


測試部署概觀

更新:2007 年 11 月

Visual Studio Team System Test 版可以在您建立或產生測試的資料夾中或是在個別的部署資料夾中執行測試。您可以選擇是否要透過建立測試回合組態設定來啟用測試部署。如需詳細資訊,請參閱 HOW TO:設定測試部署

測試部署所啟用的隔離功能有助於確保測試回合的過程更簡潔,進而達到更精確的測試結果。在「部署」(Deployment) 步驟中,Visual Studio Test 版會在執行測試之前,先將部署項目 (檔案和資料夾) 複製到部署資料夾中。Visual Studio Test 版會複製下列的檔案類型:

  • 測試二進位檔案,例如,從測試專案建置的組件 (Assembly),或是一般測試的二進位檔案。

  • 所有的相依組件。如需詳細資訊,請參閱 Test 版中的疑難排解

  • 您所指定的檔案,像是測試所相依的 XML 檔案和組態檔案。藉由指定要複製的額外部署項目,或是變更部署資料夾,都可以設定部署。如需詳細資訊,請參閱 HOW TO:設定測試部署

    注意事項:

    啟用或停用測試部署的選擇控制了這份清單中所有項目的部署方式:測試檔案、相依組件 (Assembly),以及您明確指定的檔案。如需啟用及停用測試部署的詳細資訊,請參閱 HOW TO:設定測試部署

如需測試執行時所有步驟的詳細資訊,包括部署步驟,請參閱測試回合中的步驟

兩種部署情況

部署具有兩種形式:「本機」和「遠端」。

  • 本機測試回合:根據預設,測試都會在安裝 Visual Studio 之相同電腦的本機上執行。在這種情況下,部署項目和測試二進位檔都會複製到本機部署資料夾,並會在該處執行。如需詳細資訊,請參閱本機部署資料夾。

  • 遠端測試回合:遠端測試回合會牽涉到代理程式和控制器的使用。首先,部署項目會複製到本機部署資料夾,具體而言,就是目前測試回合的 [Out] 資料夾。請參閱本機部署資料夾。然後,這些項目會複製到控制器電腦上的部署資料夾,並且會從該處複製到一或多部代理程式電腦上的部署資料夾。最後,測試就會在這些代理程式電腦上執行,並傳回結果。如需代理程式和控制器的詳細資訊,請參閱控制器、代理程式和 Rig

本機部署資料夾

當您執行方案的測試時,Visual Studio 會以方案階層架構,在名為 TestResults 的資料夾下建立部署檔案。如果 TestResults 資料夾不存在,Visual Studio 便會予以建立。

注意事項:

如果您正在使用 Visual Studio IDE,這個 TestResults 資料夾就會直接建立在方案資料夾下,如果沒有使用 Visual Studio IDE,則會在目前的資料夾下建立 TestResults 資料夾。

每當啟用測試回合時,Visual Studio Test 版就會在 TestResults 資料夾底下建立一組專供這個測試回合使用的資料夾。這組資料夾中的第一個資料夾會根據測試回合命名。在下列圖例顯示的範例中,TestResults 下的第一個資料夾為 "<user name>@<computer name><date><time>",就是根據 "<user name>@<computer name><date><time>" 測試回合而命名的。

測試用的本地端部署資料夾

本機測試回合的部署資料夾

如先前範例所示,方案 ClassLibrary1 包含兩個專案,ClassLibary1 和 TestProject1。由於已經執行過測試,這個方案也會包含名稱為 TestResults 的資料夾。這個 TestResults 資料夾會包含針對每個測試回合的測試結果檔案。這個測試結果檔案會根據測試回合命名,並會具有 .trx 的副檔名。

以下會說明在 TestResults 資料夾底下建立的其他資料夾:

  • 測試回合資料夾:在 TestResults 底下會直接針對每個已啟動的測試回合建立一個資料夾。如同 [測試結果] 視窗和 [測試回合] 視窗所顯示的,測試回合資料夾具有與測試回合相同的名稱。測試回合名稱的預設格式為 <使用者名稱>@<電腦名稱> <日期> <時間>。如測試回合中的步驟中所述,測試回合資料夾也包含會在執行測試之前與之後所執行的清除指令碼。

  • Out 資料夾和子資料夾:每個測試回合資料夾都包含一個名稱為 Out 的資料夾。這個 Out 資料夾就是在測試回合中的步驟中所提到的部署資料夾。也就是說,測試回合所需的組件和其他檔案或資料夾,在每次啟動測試回合時,都會複製到 <solution>\TestResults\<test run>\Out 資料夾中。

  • In 資料夾和子資料夾:每個測試回合資料夾都包含一個名稱為 In 的資料夾。如同測試回合中的步驟中所述,當產生特定測試結果時,這些結果就會儲存至 In 資料夾或子資料夾中。例如,程式碼涵蓋範圍結果會儲存至名稱為 data.coverage 的檔案中,該檔案則會位於根據執行測試所在之電腦而命名的子資料夾中。

    安全性注意事項:

    當您在智慧型裝置主機下執行測試時,裝置中 In 資料夾的檔案會複製回桌面。未避免執行不受信任的檔案,Visual Studio 會將 .txt 附加至副檔名不是 .txt 或 .log 的所有檔案。

選擇測試主機

在複製部署項目之後,就會在測試回合組態中選取的測試主機底下執行測試。大部分的測試都會在部署資料夾中的預設 Visual Studio 測試主機底下。,不過,某些測試類型必須在不同的測試主機底下執行,如下所述:

  • ASP.NET 主機:執行必須在 IIS 或 ASP.NET 開發伺服器處理序 (Process) 底下執行的測試 (例如 ASP.NET 單元測試) 時,請選取此主機。如需詳細資訊,請參閱ASP.NET 單元測試概觀

  • 智慧型裝置主機.執行必須在智慧型裝置或模擬器上執行的測試 (例如智慧型裝置單元測試) 時,請選取此主機。如需詳細資訊,請參閱智慧型裝置單元測試的概觀

如需如何選取測試主機的詳細資訊,請參閱 HOW TO:指定測試回合組態

測試部署疑難排解

下列問題會導致檔案無法部署:

  • **找不到檔案。**如果您使用絕對路徑來指定檔案,請確認該路徑存在。同時,也請確認您已使用絕對路徑將檔案簽入原始檔控制中。

    如果您使用相對路徑,請確認根目錄位於您預期的位置。如果該路徑包含環境變數,請確認該變數已正確設定。如果您使用的是包含組態專屬目錄 (例如 Debug\bin\program.xls) 的相對路徑,您目前是否使用不同的組態,而使得該檔案不位於預期位置中?

  • **存取遭拒。**請確認對於必須複製到部署資料夾的檔案,您具有存取權限。

  • **檔案位於網路共用中。**如果該檔案因為位於網路共用而無法複製,請將該檔案複製到您的本機電腦上,並指示位於新位置的檔案必須部署。然後再次執行測試。

請參閱

工作

HOW TO:設定測試部署

HOW TO:指定測試回合組態

HOW TO:刪除測試結果

概念

檢測及重新簽署組件

測試回合中的步驟

其他資源

測試 Web 服務