[Seasar-user:18660] [s2junit4] s2junit4config.dicon があると単体テストでも ct でコンテナが初期化されてしまう

Shotaro Tsubouchi [E-MAIL ADDRESS DELETED]
2009年 10月 16日 (金) 17:56:17 JST


坪内(shootaroo)です。

ut では jta.dicon、
ct では jta-wls10.dicon が使われるよう、以下のように設定しています。

s2container.dicon
---------------------------------------------------------------------------------
<components>
  <include condition="#ENV != 'ut'" path="pathResolver.dicon">
</components>
---------------------------------------------------------------------------------

pathResolver.dicon
---------------------------------------------------------------------------------
<components>
  <component class="org.seasar.framework.container.factory.SimplePathResolver">
    <initMethod name="addRealPath">
      <arg>"jta.dicon"</arg>
      <arg>"jta-wls10.dicon"</arg>
    </initMethod>
  </component>
</components>
---------------------------------------------------------------------------------

通常ならこれで切り替わってくれるのですが、
S2TestMethodRunner を拡張する為に s2junit4config.dicon で設定を行なっており、
この状態で単体テストをすると、ut に切り替わる前の ct の状態でコンテナが初期化されてしまうようで、
jta-wls10.dicon が使用されてしまい、エラーとなってしまいます。

これは s2junit4config.dicon の内容によらず、
s2junit4config.dicon があるかどうかで挙動が違ってくるようです。
なにか代替案、回避策等ありますでしょうか。よろしくお願いします。


以下、s2junit4config.dicon がある場合と無い場合のログの抜粋です。

s2junit4config.dicon あり
---------------------------------------------------------------------------------
2009/10/16 17:17:59.059,環境変数#Envにファイル(env.txt)から値(ct)が設定されました
2009/10/16 17:17:59.059,S2Containerを作成します。path=hotdeploy.dicon
2009/10/16 17:17:59.059,S2Containerを作成します。path=convention.dicon
2009/10/16 17:17:59.059,S2Containerを作成しました。path=convention.dicon
2009/10/16 17:17:59.059,S2Containerを作成します。path=customizer.dicon
2009/10/16 17:17:59.059,S2Containerを作成します。path=default-customizer.dicon
2009/10/16 17:17:59.059,S2Containerを作成します。path=std-customizer.dicon
2009/10/16 17:17:59.059,S2Containerを作成しました。path=std-customizer.dicon
2009/10/16 17:17:59.059,S2Containerを作成しました。path=default-customizer.dicon
2009/10/16 17:17:59.059,S2Containerを作成しました。path=customizer.dicon
2009/10/16 17:17:59.059,S2Containerを作成します。path=creator.dicon
2009/10/16 17:17:59.059,S2Containerを作成しました。path=creator.dicon
2009/10/16 17:17:59.059,S2Containerを作成しました。path=hotdeploy.dicon
2009/10/16 17:17:59.059,S2Containerを作成します。path=pathResolver.dicon
2009/10/16 17:17:59.059,S2Containerを作成しました。path=pathResolver.dicon
2009/10/16 17:17:59.059,S2Containerを作成します。path=s2junit4config.dicon
2009/10/16 17:17:59.059,S2Containerを作成しました。path=s2junit4config.dicon
2009/10/16 17:17:59.059,環境変数#Envにファイル(env_ut.txt)から値(ut)が設定されました
2009/10/16 17:17:59.059,S2Containerを作成します。path=s2junit4.dicon
---------------------------------------------------------------------------------

s2junit4config.dicon 無し
---------------------------------------------------------------------------------
2009/10/16 17:46:29.029,環境変数#Envにファイル(env.txt)から値(ct)が設定されました
2009/10/16 17:46:29.029,環境変数#Envにファイル(env_ut.txt)から値(ut)が設定されました
2009/10/16 17:46:29.029,S2Containerを作成します。path=warmdeploy.dicon
2009/10/16 17:46:29.029,S2Containerを作成します。path=convention.dicon
2009/10/16 17:46:29.029,S2Containerを作成しました。path=convention.dicon
2009/10/16 17:46:29.029,S2Containerを作成します。path=customizer.dicon
2009/10/16 17:46:29.029,S2Containerを作成します。path=default-customizer.dicon
2009/10/16 17:46:29.029,S2Containerを作成します。path=std-customizer.dicon
2009/10/16 17:46:29.029,S2Containerを作成しました。path=std-customizer.dicon
2009/10/16 17:46:29.029,S2Containerを作成しました。path=default-customizer.dicon
2009/10/16 17:46:29.029,S2Containerを作成しました。path=customizer.dicon
2009/10/16 17:46:29.029,S2Containerを作成します。path=creator.dicon
2009/10/16 17:46:29.029,S2Containerを作成しました。path=creator.dicon
2009/10/16 17:46:29.029,S2Containerを作成しました。path=warmdeploy.dicon
2009/10/16 17:46:29.029,S2Containerを作成します。path=s2junit4.dicon
---------------------------------------------------------------------------------



Seasar-user メーリングリストの案内