[Seasar-user:14447] S2TestCase実行時の自動バインディングに関して

鈴木 順 [E-MAIL ADDRESS DELETED]
2008年 5月 26日 (月) 22:51:44 JST


お世話になっております。鈴木です。

とある共通interface(HogeLogic)があります。
HogeLogicを実装したクラスが多量(といっても10個ですが)にあり、
通常起動時(WebAppなのでTOMCAT起動。[DEPLOY MODE]Cool Deployd)にそれら全てがSMART DEPLOYされます。
(logic.impl.AaaLogicImpl、logic.impl.BbbLogicImplなど)
(尚、logic.AaaLogicと言うinterfaceはありません)

HogeServiceのプロパティlogicsは、型がHogeLogicの配列です。
(このServiceクラスもSMART DEPLOYされます)
通常起動した場合にはlogicsが、
自動バインディングされて問題なく動作します。

しかしS2TestCaseを利用したTestCaseからHogeServiceの試験をした場合、
(該当のTestCaseのプロパティにHogeServiceを定義してあります)
logicsには何も設定されません。

試験の動作のログを見ると、
DEBUG org.seasar.framework.container.util.S2ContainerUtil - クラス (XXXX[YYY])のコンポーネント定義を登録します
と言うログがHogeLogicの実装10個に関しては出ていないので、
HogeLogicの実装がContainerに登録されていないように思われます。

HogeService自体はContainerがTestCaseにセットしているので、
SMART DEPLOY自体は動作しているように感じています。

この問題を解消する為の方法を教えていただきたいと思います。

S2は2.4.18-rc2を利用しています。







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