PerlでTDDするためにguardっぽいモジュール書いた
何をやったか
PerlでTDDをしたくなったのだけれど、いちいちテストスクリプトを修正毎に回すのが億劫になってしまったのでファイルを監視して勝手に回すモジュール書いた。perlにguardっぽい挙動をさせるもの。
中でやってることは簡単で、newするときに監視したいプロジェクトのrootディレクトリを指定する。startでFilesys::notify::simpleへの監視が始まる。更新されたファイルが *.t であればそのテストだけ回し、*.pl *.pmだったらワイルドに全部回す。
TDDへの意識の高みが消え失せる前に書かねばというモチベーションの元作ったのですごくシンプルなものになった(なってしまった)
テストについて
基本的にテストはめんどくさい。開発より単調な作業だし時間がかかる、だからこそ開発と平行してやるべきなんだけど、それがなかなかできない。
だとすれば、テスト作成に必要な準備は徹底的にめんどくさくないものにすべきだと思う。今回はモジュールにしてしまったのも本来はスクリプトにすべきだったと思っているしなんならスクリプトを起動する手間だって省きたい。vimを立ち上げたときに自動的監視が始まりテストが動き始めたら尚良い。
このモジュールを書きながら、そんなことをちょっとだけ考えた。
おわりに
このエントリは Qiita Perl Advent Calendarの14日の記事として書きました。
来年はちゃんと準備してテクニカルのことを書きたい。
Perl Advent Calendar 2013 - Qiita [キータ]