Looperを使って常にテストを回そう #golang


Looper

RubyにおけるGuardみたいな、ファイルを監視して
テストを回してくれる、そんな便利なライブラリがないかな、って
探してみたらLooperというものがあった。

早速使ってみることにした。

セットアップ

自分の環境はMac OS XなのでREADME.mdに書かれている通り、readlineをインストールする

brew install readline

そしてlooperのインストール(go get)

go get -u github.com/gophertown/looper

実行してみる

looperは、goのファイルが書き換えられると
go testを走らせる。

looperを起動する

$GOPATH/bin に$PATHが通っていれば、looper コマンドを
対象となるプロダクトコードがあるディレクトリ上で叩けば良い。

ここで使ったプロダクトは自分で書いたfizzbuzz.goで、
$GOPATH/src/github.com/futoase/fizzbuzz-goにディレクトリを移動している。

...アスペクト比がおかしい...

テストの実行をlooperに実行してもらう

あとはgoのソースコードを編集すれば逐次テストを動かしてくれる。

その他

looperにはファイルの動的な監視以外にも、
a を入力すると全てのテストファイルを実行するというオプションも有る。

looper良さそうだなと思った(小並感
... ネタ探しは前日までにやっておくべきだと悟った。