Go + testing
方針
- Go で標準で入っている testing パッケージを使う
前提
bash
brew install go
プロジェクト作成
bash
mkdir -p ~/workdir/SampleGo
cd ~/workdir/SampleGo
go mod init samplego
# -> go.mod が作成される
code .
最小のコード
main.go
package main
func add(a int, b int) int {
return a + b
}
add_test.go
package main
import "testing"
func TestAddTwoAndThree(t *testing.T) {
if add(2, 3) != 5 {
t.Fatalf("expected 5")
}
}
決まりごと
- ファイル名のルール :
*_test.go - 関数名とシグニチャのルール :
TestXxx(t *testing.T) - テストの通らない場合に
t.Fatalf("..")で失敗させる。assertみたいなもん
実行
bash
go test
表示例
成功時
- OK の場合のテストケース名は出ない
- TODO: verbose オプションなどある?
txt
PASS
ok samplego 0.184s
失敗時
txt
--- FAIL: TestAddTwoAndThree (0.00s)
add_test.go:7: expected 5
FAIL
exit status 1
FAIL samplego 0.181s
以下広告