MockRoundtrip を使用するように Stripes を設定する例を次に示します。
private void setupStripes() {
context = new MockServletContext("testresults");
// Add the Stripes Filter
Map<String,String> filterParams = new HashMap<String,String>();
filterParams.put("ActionResolver.Packages", "com.test.project.action,com.test.results.action");
context.addFilter(StripesFilter.class, "StripesFilter", filterParams);
// Add the Stripes Dispatcher
context.setServlet(DispatcherServlet.class, "StripesDispatcher", null);
mockRoundtrip = new MockRoundtrip(context, MyActionBean.class);
assertNotNull(mockRoundtrip.getActionBean(MyActionBean.class));
}
問題は、最後の行が常にアサーションに失敗することです。最初に呼び出す必要がありますmockroundtrip.execute("eventName")
が、その時点で、アクション Bean はすでに作成されています。アクション Bean が appserver に依存することを行う場合 (例: EJB を使用する、JNDI ルックアップを行う)、 の呼び出しを完了することはできませんexecute()
。私ができるようにしたいのは、アクション Bean のインスタンスを取得し、そのフィールドに依存性を注入してから、を呼び出すことexecute()
です。それを行う方法はありますか?