測試 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 卻不會更新它們的結果)。因此,如果測試案例中有其他副作用,它們可能會發生。