rt.cpan.org でバグレポートと機能追加要望があがっていたので、久々に Text::Trac に手を入れました。
バグフィックスしたものは 0.05 としてアップしてあります。また、新機能として Trac Links と Wiki Macros をサポートしたものは、svn リポジトリに置いてあります。リクエストしてくれた方の確認後、問題なければ CPAN にアップ予定です。
今回のこのバグフィックスと機能追加で、TDD のありがたさを改めて実感しました。
バグについては一度修正して、報告者に確認をお願いしたのですが、まだバグが残っている状態でした。すると今度は報告者の方が、テストを書いて送ってくれたのですが、これが大いに役に立ちました。テストがあると、どこにどういったバグがあるのか、make test (あるいは prove コマンド)一発でわかるので、言葉で説明してもらうよりも明確ですし、バグ確認後、fail したテスト(と他のテスト)全てが通るようにプログラムに修正を施していけばいいわけで、やることが明確になって作業がスムーズにできました。
自分も今後バグレポートする際には、テストとセットでレポートするようにします。
新機能の追加についても、ひとつの機能毎にテストを書く、実装する、テスト動かして確認、修正する、というサイクルで作業していたのですが、コマンド一発でテストができると、全体の流れを途切れさせることなく、集中力を保ったまま作業ができていいですね。
これを機に Text::Trac のテストを Test::More から Test::Base へ移行したのですが、Test::Base で DRY にテストが書けると、更に全体の流れがよくなり、非常に気持ちよく作業ができます。Test::Base 最高。
Test::Base をご存知ない方は、Shibuya.pm テクニカルトーク #7 の 宮川さんの発表資料(PDF) を是非ご覧下さい。