URLhttps://learnscript.net/zh-hant/vscode/testing/
    複製連結移至說明  範例

    Visual Studio Code 測試使用和設定說明

    閱讀 6:42·字數 2011·發佈 
    Youtube 頻道
    訂閱 480
    VSCode 使用測試功能
    影片示範 YouTube

    Visual Studio Code 測試

    在 Visual Studio Code 中進行測試,通常需要安裝對應的語言延伸模組,以及測試工具。以 Python 為例,除了安裝延伸模組 Python,還需要 Python 套件unittestpytest

    如需尋找與測試相關的延伸模組,可以在延伸模組面板中按類別篩選(在延伸模組面板的搜尋欄輸入@category:testing)。

    由於不同語言的測試方式可能存在較大的不同,本文主要介紹 VSCode 中與測試相關的通用操作和功能。

    為什麽需要測試?

    對於小型專案,開發者可能更傾向於快速疊代,而跳過系統化的測試。然而,在大型專案或團隊協作環境中,測試是保證程式碼質量、升階可維護性的關鍵環節。

    在 Visual Studio Code 中設定測試環境

    一般情況下,在用於測試的延伸模組啟動後,VSCode 會顯示測試面板。根據延伸模組的不同,你可能需要在面板中進行更為詳細的組態。

    以設定 Python 程式碼的測試為例,如果選擇使用unittest套件,則將把test目錄中,檔案名包含test的 Python 腳本檔案,視為需要測試的檔案。設定完成後,可能需要重新啟動 VSCode。

    搜尋測試檔案的方式與延伸模組和工具相關

    需要指出,具體搜尋測試檔案的方式,可能與延伸模組和工具相關。

    比如,使用unittest測試時,可能不會搜尋子資料夾中的測試檔案。如果test資料夾的子資料夾math包含了test_math.py,那麽test_math.py不會被識別為測試檔案。

    在 Visual Studio Code 中檢視檢測到的測試

    一旦在測試檔案中檢測到可用的測試,他們將以樹形結構展示在測試面板中。如果你不習慣樹形結構,那麽可切換至串列結構。串列結構會以更加簡潔的方式列出所有測試。

    測試面板點選任意測試項,或通過其操作功能表項前往測試,可跳躍到該測試的程式碼。

    測試面板未列出某些測試?

    測試面板未列出某些測試的原因是多種的,但你可以嘗試點選面板重新整理測試按鈕,讓 VSCode 重新收集測試。

    在 Visual Studio Code 中執行與偵錯測試

    要執行或對測試偵錯,可在測試面板中,點選與目標測試相關的執行測試按鈕或對測試偵錯按鈕,或在選取目標測試的情況下,按Enter鍵,或在編輯器中點選裝訂邊中的,與測試程式碼對應的執行測試按鈕或相關的操作功能表項。

    對於樹形結構,你可以點選某個層級對應的執行測試按鈕,或對測試偵錯按鈕,這將執行或偵錯該層級包含的所有測試。

    點選測試面板重新執行上次的執行按鈕,可重新執行上一批次的測試。點選測試面板重新執行失敗的測試按鈕,可重新執行結果為失敗的測試。

    篩選 Visual Studio Code 測試

    在編寫大量測試之後,你可以通過篩選器篩選需要顯示的測試。比如,輸入與測試相關的關鍵字,或點選更多篩選…按鈕,選擇需要顯示的測試類型。

    在 Visual Studio Code 中檢視測試結果

    測試完成後,測試的結果將顯示在測試面板、裝訂邊、測試結果面板等位置。

    如果測試結果為失敗,那麽相關的失敗資訊還將以標簽的形式,顯示在編輯器對應測試程式碼處。點選標簽或失敗的測試,可檢視關於失敗的詳細資訊。

    測試結果面板會顯示不同批次的測試結果,這包括最後一批測試,和之前的測試。

    點選測試結果面板中的某條測試,可在左邊顯示其測試的輸出資訊。點選某批次測試旁邊的顯示結果輸出按鈕,可顯示該批次測試的輸出資訊。點選測試面板顯示輸出按鈕,可顯示最後一批測試的輸出資訊。

    通過測試結果面板中,某條測試或某批次測試對應的按鈕或功能表項,可重新執行或偵錯他們,或跳躍至對應的測試程式碼處。

    點選測試結果面板清除所有結果按鈕,或點選測試面板中的清除所有結果功能表項,可清除所有批次的測試結果。

    在 Visual Studio Code 中檢視測試的程式碼涵蓋範圍

    測試的程式碼涵蓋範圍用於表示測試到底覆蓋了多少程式碼,可用於衡量測試的完整性。

    測試面板執行測試按鈕旁邊,一般可以看到執行涵蓋範圍測試按鈕,點選該按鈕即可執行測試,並計算本批測試的程式碼涵蓋範圍。

    這裏,我們選擇執行測試test_add,並計算其程式碼涵蓋範圍。測試完畢後,可在測試涵蓋範圍檔案總管中,檢視具體的涵蓋範圍。

    程式碼涵蓋範圍一般以程式碼檔案或資料夾為單位,而具體參與計算的檔案和資料夾,以及涵蓋範圍的計算方式和結果,由相關延伸模組和工具決定。當你使用不同的延伸模組或工具時,同一種測試的程式碼涵蓋範圍可能是不同的。

    涵蓋範圍可能會分為陳述式、分支或更多統計方式。以檔案為例,陳述式涵蓋範圍,是指該檔案中被測試執行的陳述式,占該檔案所有陳述式的比例。分支涵蓋範圍,是指該檔案中被測試執行的分支,占該檔案所有分支的比例。

    測試面板測試涵蓋範圍檔案總管中,點選某個被計算的程式碼檔案,即可檢視被覆蓋的程式碼有哪些,VSCode 會以不同的色彩,來表示被覆蓋或未被覆蓋的程式碼。

    這裏,我們點選腳本檔案my.py,裝訂邊顯示為墨綠色的為被覆蓋的程式碼,顯示為紅色的為未被覆蓋的程式碼,當然,具體色彩與你所使用的 VSCode 主題有關。

    講解影片

    VSCode 使用測試功能·YouTube
    VSCode 檢視測試的程式碼涵蓋範圍·YouTube