跳至主要內容

測試 API

vscode_deno 擴充套件實作 vscode 的客戶端 測試 API,在使用支援測試 API 的 Deno 版本時,專案中的測試將會顯示在 IDE 中,供啟用 Deno 的專案使用。

測試顯示

當編輯器和 Deno 版本都支援測試 API 時,測試瀏覽器檢視會啟用,由燒杯圖示表示,它會提供一個側面板,其中包含在專案中發現的測試。

此外,在程式碼中識別的測試旁邊,會有一些裝飾,可讓您執行並查看每個測試的狀態,以及命令面板中會有測試的項目。

發現測試

目前,Deno 只會發現工作區內「已知」模組的一部分測試。當模組在編輯器中開啟,或匯入該模組的另一個模組在編輯器中「已知」時,模組就會變成「已知」。

未來,測試的發現方式將類似於 deno test 子指令發現工作區根目錄一部分的測試的方式。

執行測試

您可以從測試瀏覽器檢視、檢視測試程式碼時測試旁邊的裝飾,或透過命令面板執行測試。您也可以使用測試瀏覽器檢視中的篩選功能,從測試執行中排除某些測試。

目前,Deno 僅支援「執行」測試功能。我們將在未來新增除錯執行模式和覆蓋率執行模式。我們也會將基準測試整合為標籤,以便在測試執行中執行(或排除)這些測試。

Deno 語言伺服器不會啟動新的 CLI 子程序。它會為每個測試模組產生新的執行緒和 JavaScript 執行時間,以執行測試。

測試輸出

測試中發生的任何 console.log() 都會傳送到 vscode 中的測試輸出視窗。

當測試失敗時,失敗訊息(包括堆疊追蹤)會在 vscode 中檢查測試結果時提供。

測試的結構

測試會顯示在頂層的測試瀏覽器中,其中包含測試的模組。模組內部會包含所有已發現的測試,如果您使用測試步驟,它們會包含在測試下方。

在大部分情況下,Deno 語言伺服器可以靜態識別測試,但如果您動態產生測試,Deno 可能在執行時才會知道這些測試。在這些情況下,可能無法從執行中篩選出這些測試,但它們會在遇到時新增到瀏覽器檢視中。

設定

預設情況下,測試的執行方式類似於在命令列中使用 deno test --allow-all。這些預設參數可以透過在使用者或工作區設定中設定Deno > 測試:參數選項(或如果您手動設定,則為 deno.testing.args)來變更。在此處新增您會與 deno test 子命令一起使用的個別參數。

根據您其他的設定,這些選項會自動合併到執行測試時所使用的「命令列」,除非在 Deno > 測試:參數 設定中明確提供。例如,如果您設定了 Deno:匯入映射 (deno.importMap),除非您在測試參數設定中提供了明確的 --import-map 值,否則會使用該值。

已知的限制和注意事項

由於 Deno 測試執行器的執行方式,無法排除 (或明確包含) 測試步驟。雖然 vscode UI 允許您執行此操作,例如選擇執行特定測試步驟,但該測試中的所有測試步驟都將執行 (但 vscode 卻不會更新它們的結果)。因此,如果測試案例中有其他副作用,它們可能會發生。