Go 言語で基本的なユニットテストコードを書く
Go言語はあらかじめ用意されている軽量なテストフレームワークtesting
とgo test
コマンドを使ってユニットテストと性能テストを実現することができます。
testing
を使うにあたっていくつか決まり事があります。
- sample.goのテストコードはsample_test.goとなるように、*_test.goというファイル名になります。
- testingをimportする必要があります。
- テスト関数名は必ずTestから始まり、TestXxxのXxxの部分は任意の英数字の組み合わせです。
- ただし頭文字は小文字[a-z]ではいけません、例えばTestintdivというのは間違った関数名です。
- テスト関数TestXxx()のパラメータはtesting.Tです。
- フォーマットは以下のとおりです。
func テストケース名 (t *testing.T) { // テストコード }
testing
には標準でアサーションがないので、便利なパッケージを使うほうが良いです。
テストツールライブラリ(goconvey)
goconveyにはアサーションがあります。
インストールは以下のとおりです。
go get github.com/smartystreets/goconvey
モンキーパッチライブラリ(monkey)
monkeyを使えば、ハックすることができます。jsでいうsinon.jsのような感じ?でしょうか。
インストール方法は以下のとおりです。
go get github.com/bouk/monkey
テスト実行方法
テスト実行方法はgo test
コマンドを基本的には使用します。-run
オプションを指定することにより、テストケース(テストケース関数)を実行することができます。
go test -run テスト関数名
また、テスト関数名については正規表現が使えます。
go test -run TestXxx* というように正規表現が使える go test -run TestXxx_[0-9][0-9]$
KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^
得意技はJS(ES6),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^
コメント