読者です 読者をやめる 読者になる 読者になる

PHPUnitでGrowl通知する方法を書いた件

PHPUnitの実行結果をGrowlに通知する方法 - Qiita

  • 事の発端は、去年の年末あたりからRails Tutorialをやっていて、GuardのGrowl通知いいなーと思い始めたことだった

  • PHPUnitの実行にguardやglupを使うという方法もあったけど、ちょっとした用途には大げさかなと思ったのと、その手のやつはPHPUnitの標準出力をパースして結果を取得しているのがイケてないなー、PHPUnitを拡張するような方法でできないだろうかと思っていた

  • まず最初にPHPUnit_Framework_TestListenerを思いついたけど、これは個々のTestやTestuSuiteに対して呼び出されるのでちょっと頻度が多すぎる。で、次にprinterClassを見つけた

  • 次にどうやってGrowlに通知する方法、gntpnotifyやgntp-sendといったコマンドを実行させるという方法はあまり好きじゃなかったのでGNTPを実装したモジュールを探したけど、イマイチ良いのが無かったので結局自分でGNTPを実装することにしたんだけどインターフェースを決めきれずに数か月放置

  • なんやかんやでPackagestにも登録して、Qiitaに投稿しようかなと説明を書き始めたところでphar版PHPUnitでテストしてないことに気が付いて、まさにRebuild: 52: TLDR Driven Development (Naoya Ito)でやっていた「先にREADMEを書く」ことの効果を気づかされることになった

  • 書いたコードはわずかでもリリースするところまでやると色々学ぶことがあるなーと思った。PHPUnitを調べたりComposerを調べたり。あとTravisのMatrixを使ってPHPPHPUnit複数のバージョンでテストする方法を試せたのが良かった