Test::ContinuousでGrowlにtest完了通知させるようにしてみる - すぎゃーんメモで、testが終わるたびにGrowlで結果を教えてくれるのが便利だなーと思って、でもそれを使わない普通のproveコマンドの場合も結果を通知して欲しい!! ということで作ってみた。
GitHub - sugyan/App-Prove-Plugin-Growl: proveのGrowl通知プラグイン
proveコマンドは、"App::Prove::Plugin::ほげほげ"というモジュールがあれば
prove -Pほげほげ
と指定することでプラグインを読み込んで実行できるらしい。ので、こんな名前になります。
こんなカンジで、proveの結果がGrowlで通知されるようになります。
Log::Dispatch::DesktopNotificationを使っているのだけど、Mac以外の環境だと動かないのかな…。
中身
App::Prove::_runtestsメソッドを入れ替えてafter_runtestsで呼ばれるコールバックに通知処理を加えただけのものです。
通知方法はTest::Continuous::Notifierのものをほぼ丸パクリ。
使用方法
local::lib環境なり何なりにインストールして下さい。cpanmだとgithubからもコマンド一発で簡単ですね。
cpanm http://github.com/sugyan/App-Prove-Plugin-Growl/tarball/master
普通にロードできる状態であれば、
prove -PGrowl
とオプション渡してやるだけでおkです。
プロジェクトディレクトリ直下または$HOME直下の".proverc"に以下を書き加えても良いかもしれません。
-PGrowl
インストールせずに使う
「こんな怪しいモジュールはインストールしたくない!」という場合はコマンドオプションでモジュールへのパスを通してやればいいんですが、どうやら
prove -I $HOME/git/sugyan/App-Prove-Plugin-Growl/lib
というような指定のしかたではイケないらしい。ちょっと面倒だけど
perl -I $HOME/git/sugyan/App-Prove-Plugin-Growl/lib $(which prove)
とやれば大丈夫そうです。