Google 代碼管理工具自訂範本的單元測試可協助您驗證範本的功能。您可以為每個範本建立一組測試 不必部署代碼就能執行 在開發過程中持續測試範本的行為。每項測試都能 提供範例輸入值、模擬函式呼叫,以及斷言程式碼行為。
限制
- 單元測試不會檢查驗證規則,但您可以使用「Run Code」按鈕手動檢查驗證。
- 系統不會對單元測試中的模擬 API 執行權限檢查。
本指南將逐步說明如何為自訂範本編寫單元測試。這個範例會建立可擷取輸入字串的變數範本 也就是大寫版本
- 建立新的變數範本。按一下左側導覽面板中的「範本」,然後點選「變數範本」部分下方的「新增」。 
- 按一下「欄位」。 
- 按一下「新增欄位」並選取「文字輸入」。將欄位命名為 - text1,並將顯示名稱設為「Text 1」。
- 在「Code」分頁中,將預設程式碼替換為這個沙箱 JavaScript: - let input = data.text1; return input.toUpperCase();
- 按一下「測試」開啟「測試」分頁。 
- 按一下「新增測試」,然後將測試名稱從「未命名的測試 1」變更為 「處理字串」。 
- 按一下展開圖示 (expand_more),顯示測試的沙箱 JavaScript 編輯器。將程式碼換成此沙箱防護的 JavaScript: - // Call runCode to run the template's code with a lowercase string let variableResult = runCode({text1: 'this is a test'}); // Validate that the result of runCode is an uppercase string. assertThat(variableResult).isEqualTo('THIS IS A TEST');- 這項測試會將 - 'this is a test'字串傳遞至變數,並驗證該變數是否傳回- 'THIS IS A TEST'的預期值。- runCodeAPI 可用來執行「Code」分頁中的範本程式碼。- runCode的引數是一個物件,做為全域資料使用。- assertThatAPI 會傳回一個物件,可用來流暢地對主體值做出斷言。
- 按一下「▶ 執行測試」執行測試。測試的輸出結果會顯示在控制台中。 - 點選「▶ Run Tests」按鈕會依照顯示順序,執行範本中所有已啟用的測試。如要變更順序,請使用拖曳圖示 (↘)。您可以按一下測試名稱左側的圓圈,暫時啟用或停用測試。如要執行單一測試,請將滑鼠遊標懸停在測試上,然後按一下隨即顯示的 ▶ 按鈕。 - 控制台應會顯示測試的執行總數和失敗的測試數量 (如果有的話)。在本例中,系統只會執行一項測試,且應通過。 
- 再次點選「Add Test」,新增第二個測試。將測試名稱從「未命名的測試 2」變更為「處理未定義的測試」。 
- 按一下測試即可展開,並開啟沙箱 JavaScript 編輯器。在編輯器中輸入採用沙箱機制的 JavaScript: - let variableResult = runCode({}); assertThat(variableResult).isEqualTo(undefined);
- 按一下「▶」執行測試,一次執行所有測試。測試的輸出結果會顯示在控制台中。 - 「處理未定義的」測試應會失敗。恭喜,您發現了錯誤! 
- 按一下「程式碼」返回並編輯範本的沙箱 JavaScript 程式碼。按照下列方式更新沙箱 JavaScript: - const getType = require('getType'); let input = data.text1; if (getType(input) !== 'string') { return input; } return input.toUpperCase();- 更新後的程式碼是先驗證 - input變數再使用的最佳做法。
- 按一下「測試」即可返回測試案例清單。 
- 按一下「▶ 執行測試」,再次執行所有測試案例。這次「Handles undefined」測試應會通過。 
- 按一下「儲存」,然後關閉範本編輯器。