(追記 20141010)
カバレッジとりたいファイルを (undercover "foo.el$")
と指定していましたが
version 20141009.606 より正規表現ではなくワイルドカードでの指定となりました。
See:
Undercover function arguments · Issue #1 · sviridov/undercover.el · GitHub
経緯
undercover (20141006.2338) --- Test coverage library for Emacs http://t.co/pTiy5PNZ9x
— MELPA (@melpa_emacs) 2014, 10月 7
求めてたものを見つけた。仕事中に見つけたので書きかけの PHP のコードが消えました。
結論から
登録できました!すばら!
gongo/json-reformat | Build #41 | Coveralls - Test Coverage History & Statistics
導入
素材は json-reformat.el を使いました。
とりあえずやったことをつらつらと
1. ert-runner の導入
これまでは Makefile で ert-run-tests-batch-and-exit を使ってテスト走らせてましたが、README にも書いてある通り、ert-runner
で動かす前提の模様だったので、ついでに乗り換え。
ここらへんとかがそれっぽい。
2. undercover の呼び出し
README に従って
(require 'ert) (require 'undercover) (undercover "json-reformat.el$") ;; カバレッジ取りたいファイルを指定 (require 'json-reformat) ;; ↑ の undercover 呼んだ **後に** require
3. これだけです
簡単ですね。
もちろん Coveralls.io の方でもリポジトリを有効にしておきましょう
結果
- gongo/json-reformat | Coveralls - Test Coverage History & Statistics
- gongo/json-reformat | Job 2 | json-reformat.el | Coveralls - Test Coverage History & Statistics
素晴しい!
まとめ
かつて同じようなものを自分も作ろうとして edebug でがんばってたんですが、結局諦めてました。このライブラリに感謝。
おまけ
久々に Emacs Lisp コードを TravisCI で走らせたらいろいろ落ちてて
Emacsのバージョンマネージャ "evm" がEmacs LispのCIにおすすめ - Copy/Cut/Paste/Hatena
上記記事にもあった通り ppa:cassou/emacs
の emacs-snapshot
が怪しかったりしたので evm を途中まで試してたのですが
@gongoZ ppa:cassaou/emacsは更新が停止していますが, ppa:ubuntu-elispの方は最新版を提供してくれているので, 最新版と 24.3だけ試したいという程度であれば不要だと思います. 様々なバージョンでテストしたいならevmだと思います.
— Syohei YOSHIDA (@syohex) 2014, 10月 7
そんな感じで乗り越えました。ありがとうございます!
あと、Cask が Emacs23 を手放したの今日知ったので TravisCI でテスト回しづらくなったなという。まあ仕方ない。