ささやかだけれど役に立つツールを目指して

昨日リリースしたS2JUnit4Pluginですが、早速バグ(https://www.seasar.org/issues/browse/JUNITPLUGIN-1)を発見してしまいました。orz

修正版はもう少し様子を見てからリリースしたいと思います。お手数をおかけしますがよろしくお願いします。m( )m

出だしからちょっとつまづいた感のあるS2JUnit4Pluginですが、ささやかだけれど役に立つツールを目指しています。

ささやかだけれど役に立つツール(A Small, Good Tool)というフレーズはもちろんレイモンド・カーヴァーの「ささやかだけれど、役に立つこと」(A Small, Good Thing)からきています。

このフレーズを使う理由は、S2JUnit4Pluginを使うことによっていままでコストが10だったのを2とか3にはできないけれど8とか9にはできるんじゃないかという思いからです。

最近職場の優秀な先輩と話していてわかったのが彼らはどうもJUnitをテストというよりも動作確認に重きを置いて使っているらしいということ。極端に言えばassertメソッドが無いテストでもOK。ちょっとづつコーディングして動作確認する際にスタブ代わりにテストを書くみたい。確かにこれはひがさんが言っているステップバイステッププログラミングにも相当し、はまりにくいよね。DIコンテナの登場によりテストも書きやすくなってるし。

例えばSAStruts+S2JDBCで開発する際にService,Action,ActionForm,JSPを書いてブラウザで確認ってやるよりはService書いた後にテスト書いて動作確認したほうがいいんじゃないっていうことだと思う。別にテストファーストじゃなくてもいいと思うし。画面周りのテストは難しいかもしれないけどDB周りだったら比較的楽に書けると思うし。

でこのテストを書くのをちょっとだけ楽にするツールとしてS2JUnit4Pluginですよ。S2JDBC-Genを使っている場合はServiceのテストも生成するようになったのでそんなに手間は変わらないかもしれないけどDBFlutehttp://gihyo.jp/dev/feature/01/dbflute/0002?page=4 の例だとsrc/main/javaをsrc/test/javaに変更しなくていいよとか、S2TestCaseもあらかじめextendsしておけるよとかです。うん、わかってたけど書いてて超地味な気がしてきたw

ともあれ、機能的には出揃っていると思っているので大きな改造はしない予定です(マルチページエディタの件は考えます)。
まずは枯れさせる方向で考えています。そしてあわよくばSandBox卒業を狙って。。。いや無いかなw
今のところ考えている細かいエンハンス項目としては下記です。

  • ワークスペースプリファレンスの内容をプロジェクトプロパティへ
  • メソッド作成ウィザード

あとS2JDBC-Genのダンプデータをもとにテストケースdiconを自動生成とかも思いついたけどちょっと違うかな。