[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 メーリングリストの案内