はじめに
前回、GO言語のソースファイルを保存したときに自動的にテストしてくれるツールがあったので、使い方を書きました。
使用したツールはguard-goでしたが、全体でいくつ実行して、いくつ失敗したのか分からないといちいちコンソールを見て想定通りになっているか確認しなければならず、ちょっと不便に思えたので、guardのプラグインを作成しました。リポジトリはこちら
どんなプラグインなのか?
guard-go同様、保存するたびに自動で go test を実行し、成功すれば success を表示します。失敗したときは、実行したテストの総数と失敗したテストの数を返します。
成功したときに表示されるメッセージ
失敗したときに表示されるメッセージ
注意点
作成したプラグインは、goのテスティングフレームワーク Gospel にのみ対応しています。
使用するツール
- Sublime Text 3:テキストエディタ
- GoSublime:Sublime Text 3 のプラグイン
- gospel:Rspec風のテスティングフレームワーク
- bundler:Rubyのgemパッケージ管理ツール
- rake:Rubyのビルドツール
- guard-go:ファイル監視ツール
前提条件
既に下記のツールや実行環境がインストール済みであることを前提とします。
guard-gospel のセットアップ
インストール
git clone https://github.com/135yshr/guard-gospel.git
cd guard-gospel
sudo rake install
初期化
bundle exec guard init gospel
サンプルコード
helloworld_test.go
package go_gospel
import (
. "github.com/r7kamura/gospel"
"testing"
)
func TestSpec(t *testing.T) {
Describe(t, "Hello World を取得するクラス", func() {
Context("Hello Worldを取得する", func() {
It("関数を呼び出しHello World!をが取得できる", func() {
sut := &HelloWorld{}
Expect(sut.say()).To(Equal, "Hello World!")
})
})
})
}
helloworld.go
package go_gospel
type HelloWorld struct{}
func (self *HelloWorld) say() string {
return "Hello World!"
}