Goの Coverage機能を Emacsから利用する

http://golang.org/doc/go1.2


Go 1.2がリリースされましたが, その中の新機能にカバレッジがあります.
この機能を Emacsから活用する機能を紹介します.

インストール

まずカバレッジツールをインストールします.

 % go get code.google.com/p/go.tools/cmd/cover

手元の環境では, 他のパッケージと異なり root権限が必要になりました.
MacOSX等だと違うかもしれませんので, エラーが出た場合は rootに
なって再実行するなどしてください


go-modeは最新版をインストールしておけば大丈夫です.
MELPAからインストールしている場合は, updateをしておけば
良いでしょう.

カバレッジファイルの作成

go testでカバレッジファイルを生成します.

 % go test -coverprofile=COVER

これで COVERというファイルが生成されます.

Emacsから使う

テストを行ったファイルを開き, M-x go-coverageを実行します.
するとカバレッジファイルの場所が問われるので先ほど生成した
ファイルを指定してください.


すると以下のようなバッファがポップアップします.


緑がテスト時に通ったパス, 赤がテスト時に通らなかったパスを
意味します. わかりやすいですね.

おわりに

Goの Coverage機能を Emacsから利用する方法を紹介しました.