在Visul Studio Code(VSCode)的Go擴充套件開啟Go測試程式覆蓋高光效果。
測試程式覆蓋率(test code coverage)是指主程式碼有被測試程式走訪過的部分,而未被測試程式走過的部分則未覆蓋。
VSCode Go已內建code coverage的高光效果(highlight)預設為關閉。開啟的方式為在VSCode設定(Settings)頁面(快速鍵 macOScommand ⌘ + ,;Windows:Ctrl + ,)搜尋"Go Cover On Save",然後在找到的[Go: Cover On Save]勾選即可。
[Go: Cover On Save]選項實際位置在Settings -> Extension -> Go
。
除了在VSCode的Settings UI設定,也可按直接F1或macOS:command ⌘ + shift ⇧ + P;Windows: Ctrl + Shift + P開啟[Command Palette]命令列輸入"Preference: Open Settings(JSON)"打開settings.json
檔。
在settings.json
加入"go.coverOnSave": true
屬性開啟[Go: Cover On Save]。
settings.json
{
// other settings
...
"go.coverOnSave": true
}
[Go: Cover On Save]啟用之後存檔Go程式後就會背後自動執行go test -coverprofile
產出覆蓋率資料用以讓VS Code顯示覆蓋率高光效果。
例如「Golang Testify mock簡單範例」的main.go
,在開啟[Go: Cover On Save]後其測試程式main_test.go
的覆蓋率會在每次存檔main.go
時自動高光顯示在在main.go
的編輯畫面中。
高光效果只會出現在目前正在編輯的並存檔的檔案。
存檔的同時會在下方的OUTPUT會印出執行go test -coverprofile
的訊息及package的測試覆蓋率。
Running tool: /usr/local/bin/go test -timeout 30s -coverprofile=/var/folders/g5/n0g9p38s7xj949q3q8kk7h580000gn/T/vscode-goKtsG98/go-code-cover abc.com/demo
ok abc.com/demo 0.114s coverage: 66.7% of statements
沒有留言:
張貼留言