k01ken’s b10g

He110 W0r1d!

Goでテストをする

開発環境は、Windows10 Professional + go version go1.15.3 windows/amd64

Goでテストを行うにはtestingモジュールを使用する。

1.テスト用ディレクトリ(一応、testsディレクトリとする)を作成する

2.テスト用ディレクトリをカレントディレクトリにして、そこにテストしたいファイル(hello.go)と、テストを実行するファイル(hello_test.go)の2つを用意する。テストを実行するファイルは、テストしたいファイル名の末尾に、_testをつける名前に必ずすること。テストを実行する関数の名前も、Test + テストしたいファイル名(頭文字は大文字)であること。

以下がそれぞれのコードの中身
hello.go

package main

import "fmt"

func getHello() string{
	return "Hello World"
}

func main(){
	fmt.Println(getHello())
}

hello_test.go

package main

import "testing"

func TestHello(t *testing.T){
	if "Hello World" != getHello(){
		t.Fatal("failed test")
	}
}

3.以下のコマンドを入力してテストを実行

go test -v

実行結果が以下になります。
f:id:k01ken:20201104070305p:plain
テストにパスしたようです。

4.次に、hello.goのgetHello()関数内の表示をHello Worldじゃなくて、Hello Goにして、再度、テストを実行してみると、その結果が以下になります。
f:id:k01ken:20201104070502p:plain
失敗を捕捉しました。

■参考リンク
Go言語のテスト方法初歩の初歩 - Qiita
春の入門祭り 🌸 #01 Goのテストに入門してみよう! | フューチャー技術ブログ