[Seasar-user:20216] Re: UnitTestでOgnlRuntimeException
Koichi Kobayashi
[E-MAIL ADDRESS DELETED]
2010年 10月 6日 (水) 00:00:00 JST
小林 (koichik) です.
Date: Tue, 5 Oct 2010 18:11:02 +0900
From: takechi take <[E-MAIL ADDRESS DELETED]>
To: [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:20215] UnitTestでOgnlRuntimeException
> 初めまして。初心者takechiと申します。
> jdbcmanagerをプロパティに持つserviceを作成してUnitTestを行おうとしたところ
> 以下のエラーが出ました。
> org.seasar.framework.exception.OgnlRuntimeException:
> [ESSR0073]OGNLで例外が発生しました。
> 理由はNeed to specify class name in environment or system property, or as an
> applet parameter, or in an application resource file:
> java.naming.factory.initial at file:
> ・・・・・・・/workspace3.3Europa/training/jta-wls.dicon(20)
JUnit 環境で WebLogic 用の dicon ファイル
(jta-wls.dicon) を使っているのが原因でしょう.
おそらく s2container.dicon に
<component class="org.seasar.framework.container.factory.SimplePathResolver">
<initMethod name="addRealPath">
<arg>"jta.dicon</arg>
<arg>"jta-wls.dicon"</arg>
</initMethod>
</component>
という記述があると思います.
これを別の dicon に切り出して,s2container.dicon で
単体テスト時以外だけ条件インクルードするように
してください.
例
・s2container.dicon
<components>
<include condition="#ENV != 'ut'" path="path-resolver.dicon"/>
...
</components>
・path-resolver.dicon
<components>
<component class="org.seasar.framework.container.factory.SimplePathResolver">
<initMethod name="addRealPath">
<arg>"jta.dicon</arg>
<arg>"jta-wls.dicon"</arg>
</initMethod>
</component>
</components>
--
<component name="koichik">
<property name="fullName">"Koichi Kobayashi"</property>
<property name="email">"[E-MAIL ADDRESS DELETED]"</property>
<property name="blog">"http://d.hatena.ne.jp/koichik"</property>
<property name="twitter">"http://twitter.com/koichik"</property>
</component>
Seasar-user メーリングリストの案内