[Seasar-user:6309] Re: S2Unit について

Yasuo Higa [E-MAIL ADDRESS DELETED]
2007年 2月 23日 (金) 15:35:47 JST


ひがです。

> お世話になっております.長谷川です.
> 
> 非常に基本的な部分で引っかかっています.
> S2Unit でのテストなのですが
> 
> コンポーネントの登録自体は SMART deploy を利用していまして
> 適当な main から以下を呼び出すと
> 
> 	SingletonS2ContainerFactory.init();
> 	S2Container container =
> 		SingletonS2ContainerFactory.getContainer();
> 	Object foo = container.getComponent("fooAction");
> 
> コンポーネントが取得できます.
> #Action の instanceDef は PROTOTYPE に変更しています
> 
> この状態で S2TestCase にて
> 
> 	public S2Container container_;
> 
> 	public void testFoo() throws Exception {
> 		container_.getComponent("fooAction");
> 	}
> 
> と定義すると
> 
> org.seasar.framework.container.ComponentNotFoundRuntimeException:
> [ESSR0046]コンポーネント(fooAction)が見つかりません
> 
> となります.

S2TestCaseを継承したテストケースでは、
private FooAction fooAction;
とフィールドを定義しておけば、自動的にDIされます。
getComponent()を呼び出す必要はありません。

よろしくお願いします。

Yasuo Higa
The Seasar Project



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