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