はじめに
表題通り、GolangのTestでブレークポイントを貼りデバッグします。
成果物
ソースコード
ディレクトリ構成
~/go/src/go_test_delve$ tree
.
├── go.mod
├── main.go
└── main_test.go
1 directory, 3 files
main.go(プロダクトコード)
package main
import "fmt"
func add(a, b int) int {
return a + b
}
func main() {
result := add(2, 3)
fmt.Println("2 + 3 =", result)
}
main_test.go
package main
import (
"fmt"
"testing"
)
func TestAdd(t *testing.T) {
result := add(2, 3)
expected := 5
fmt.Println("2 + 3 =", result)
if result != expected {
t.Errorf("Expected %d, but got %d", expected, result)
}
}
デバッグする準備
VSCodeでテストをするには、.vscode
を作成する。
vsocde.json
{
"version": "0.2.0",
"configurations": [
{
"name": "Launch Package Test",
"type": "go",
"request": "launch",
"mode": "test",
"program": "${fileDirname}",
"args": [],
"showLog": true,
"trace": "log"
}
]
}
→これで準備完了。テストを動かせば、デバッグできるようになります。