[cubby-dev:20] テストケース周りの整備

Takashi SOMEDA [E-MAIL ADDRESS DELETED]
2008年 11月 25日 (火) 23:28:55 JST


染田です。

遅ればせながら、合宿お疲れ様でした。
色々と勉強させて頂きました。

さて、テストケース周りの整理の方少しずつ進めており、
一部コミットしましたので、ご連絡しておきます。

触った所でいいますと、

(1) CubbyFilter 内での処理を PathProcessorImpl へ delegate 。(馬場さんと合宿でお話した件)
-> PathProcessor を新たに追加し、hasPathInfo メソッドと process メソッドへ
    Filter で行った処理を委譲
-> PathProcessor という名前があんまり、かもです。すみません。。。良いのが思いつかず。。。

(2) org.seasar.cubby.unit 以下に諸々のクラスを追加
-> 各種 cubby-s2/cubby-guice の方で利用出来るような、
    CubbyRunner/CubbyAssert へ整理し直しました。

既存のテストケースは全て通っている事を確認してコミットしました。

(1) については、パッケージを router.impl 内への設置に伴い、CubbyRequestWrapper を
こちらに移動しておきました。
テストケースも移行したので、多分動作は大丈夫だと思います。
# guice-examples の稼働も確認してます

手元では、guice-examples で、HelloAction のテストケースも動くように
なっているのですが、こちらはもう少し整理してからコミットしようと
思っています。

ここで、二つほどご相談があります。

(1) MockRequest/MockResponse の生成について

あれば楽かもしれない、と思い、org.seasar.cubby.unit 以下に
S2 の MockHttp* を移行してあります。
実装もほぼほぼ S2 のままなのですが、内部実装を EasyMock を
利用するように変えて、

  HttpServletRequest req =
CubbyMock.createRequest().param("a2","hoge").setAttribute("aaa","bbb").header("referer","fuga").execute();

みたいな感じにする方が手軽かも、と思ったりもしています。
実際 S2 のテストケースを実行する時も、ほとんどパラメータと
アトリビュートの設定が中心ですし。。
# 最後の execute で replay するイメージ

Cubby 本体のテストにも使えるかな、などとも思っているのですが、
この辺り何かご意見ありますでしょうか。

# モックの Request とか Response の生成は、ユーザ任せでもいんでない?
# というスタンスもあるのかもしれません。

(2) cubby-guice 側へのテストケースパッケージ

guice のテストケースを書いていて気づいたのですが、ServletModule を
すげかえないと、GuiceFilter でやっている処理をエミュレート出来ず、
こちらのモックを cubby-guice においてしまおうかな、と思っています。

問題なければ cubby-guice 側にもテストケース用の unit パッケージを
置いて、モックを作ってしまおうと思ってます。
org.seasar.cubby.plugins.guice.unit です。

簡単ですが、お知らせまで。

染田
-- 
======================================
株式会社チョイスタジオ
取締役 CTO 染田貴志
mail: [E-MAIL ADDRESS DELETED]
www: http://www.choistudio.jp/

〒604-0044
京都府京都市中京区下古城町376-305
TEL: 050-3597-1906
======================================


cubby-dev メーリングリストの案内