[Seasar-user:13418] Re: S2Containerの2.3と2.4の互換性を確保したい
Yoshitaka Tsuda
[E-MAIL ADDRESS DELETED]
2008年 3月 26日 (水) 00:57:27 JST
これは、
[Seasar-user:13403] Re: S2Containerの2.3と2.4の互換性を確保したい
への返信です。
小林様、返信ありがとうございます。
getComponentで試し、2.3/2.4ともに取得が可能なことを確認しました。
その上で、生じた課題に関して報告です。
単体テストでsetRequest/setResponseする手段が違っていた。
2.3では、container.setRequest()であるのに対し、
2.4ではcontainer.getExternalContext().setRequest()とする必要があった。
とりあえず、2.3で単体テストが動けばいいので、2.4用のコードをコメントアウトして併記した
ヘルパークラスを用意し、単体テストでコンテナの初期化ではこのヘルパークラスを
呼び出すようにしました。
2.4で試すとTooManyRegisterExceptionが発生するテストケースが存在した。
これは単体テストで使用する為にMockHttpServletRequestImplを拡張したクラスを
diconに定義していたために発生した模様です。
これも現状、2.3でテストが実施できれば良いのでそのままにしてあります。
2.3のサポートをやめて、2.4でテストケースを実施する場合はMock用のdiconのツリーと
app.diconのツリーを完全に分けて定義したほうがよさそうだなと感じています。
本番用diconと単体テスト用diconを作成している場合は設定を見直す必要がある
2.3系を使用しているのですが、本番用diconの他に単体テスト用のdiconを用意しており、
単体テスト用のdicon名の形式はxxx_ut.diconでした。
#更にこれらのdiconが意図する構成かをテストするケースも作成しています。
そのため、env.txtを用意せずに2.3用に作成したテストケースを流すと
ところどころでテストに失敗するケースも現れました。
これはenv.txtを定義すれば、意図するようにインクルードされるのではないかと考えています。
以上、ありがとうございました。
--
Yoshitaka Tsuda.
-------------- next part --------------
HTMLの添付ファイルを保管しました...
URL: http://ml.seasar.org/archives/seasar-user/attachments/20080326/5899f6ee/attachment-0001.html
Seasar-user メーリングリストの案内