[seasar-dev:648] Re: S2Dao+Seasar2のtrunkでテストが通らない
Koichi Kobayashi
koichik @ improvement.jp
2007年 3月 4日 (日) 00:00:18 JST
小林 (koichik) です.
Date: Sat, 3 Mar 2007 21:14:00 +0900
From: Seto Azusa <azusa @ fieldnotes.jp>
To: seasar-dev @ ml.seasar.org
Subject: [seasar-dev:647] Re: S2Dao+Seasar2のtrunkでテストが通らない
> 条件インクルードを使ってS2.3の時はj2ee.dicon、S2.4の時はj2ee_s24.dicon
> ないしj2ee_ut.dicon(jdbc.diconをインクルードする)を読ませて切り替える
> ようにします。
これは逆がいいです.
S2.4 の時は S2 にバンドルされている j2ee.dicon が
使われて,S2.3 の時は S2Dao が持つ j2ee_○○.dicon が
使われる,という方がいいです.
S2.4 用の j2ee.dicon を S2Dao で持って欲しくないので.
そんなわけで (どんなわけで?),それように PathResolver の
実装クラスを作ってみました.
# 例によって動かしてません.テストファースト? 心より恥じる.
こいつは,S2.3 (以前) の場合に j2ee.dicon を
j2ee_s23.dicon に読み替える PathResolver の実装です.
こいつを定義した s2container.dicon を用意することで,
S2.3 では j2ee_s23.dicon が,S2.4 では j2ee.dicon が
使われるようになります.
なので,j2ee.dicon は j2ee_s23.dicon にリネームして,
新たに jdbc.dicon を追加してください.
ちょっと悩ましいのが H2 や Derby 用の j2ee.dicon が
存在すること.
そんなわけで (どんなわけで?),PathResolverImpl の
static メソッドで dicon のサフィックスを指定できるように
してみました.
Derby のテストをする場合は j2ee-derby.dicon を
インクルードするのではなく,
PathResolverImpl.setSuffix("-derby");
include("j2ee.dicon");
としてください.
そしてテストメソッドまたはテストクラスの tearDown() で
PathResolverImpl.setSuffix(null);
してください.
これにより,S2.3 なら j2ee_s23-derby.dicon が,
S2.4 ならjdbc-derby.dicon がインクルードされます.
なので,Derby 用の dicon は j2ee_s23-derby.dicon に
リネームして,S2.4 用に jdbc-derby.dicon を
用意してください.
テスト対象の DBMS が増えると dicon が二つずつ増えるのが
難点ですが.
> # 新たなトラブルの予感。
配布ファイルに影響がないようにすれば問題ないのでは?
j2ee_s23.dicon は従来同様 j2ee.dicon という名前で
配布ファイルに含めるようにしてください.
んで,S2.4 用の jdbc.dicon も一緒にバンドルして,
S2.3 では j2ee.dicon を,S2.4 では jdbc.dicon を
使用してください,とドキュメントに記載してほしいです.
って感じで何とかなるんじゃないかなぁ.
--
<component name="koichik">
<property name="fullName">"Koichi Kobayashi"</property>
<property name="email">"koichik @ improvement.jp"</property>
<property name="blog">"http://d.hatena.ne.jp/koichik"</property>
</component>
-------------- next part --------------
テキスト形式以外の添付ファイルを保管しました...
ファイル名: PathResolverImpl.java
型: application/octet-stream
サイズ: 1578 バイト
説明: 無し
URL: http://ml.seasar.org/archives/seasar-dev/attachments/20070304/9328b268/attachment.obj
Seasar-dev メーリングリストの案内