- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
以下是设置 Stripes 以使用 MockRoundtrip 的示例:
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 执行依赖于应用程序服务器的操作(例如:使用 EJB、执行 JNDI 查找),您将永远无法完成对 execute()
的调用。我想要做的是获取我的操作 bean 实例,依赖项注入(inject)其字段,然后调用 execute()
。有办法做到这一点吗?
最佳答案
我将其发布到邮件列表上并得到了这个答案:
Apparently the guy uses an Interceptor for his tests.
I think that's what you want too. Write a Stripes Interceptor that performs the "injection" as you want, and only register this one for your unit tests. You don't have to stub anything IMO.
Btw that's what @SpringBean does: it's based on Interception as well.
总之,创建一个仅在运行测试代码时使用的拦截器。该拦截器可以依赖注入(inject)您正在测试的操作 bean。
关于java - 在 Stripes 框架中,使用 MockRoundtrip 时如何在操作 bean 中依赖注入(inject)字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14839651/
我最近将 Guice 引入到我的 ActionBean 中,之前 ActionBean 的数据访问层实现是硬编码的。 我有一个这样的集成测试: MockServletContext context =
以下是设置 Stripes 以使用 MockRoundtrip 的示例: private void setupStripes() { context = new MockServletCont
我是一名优秀的程序员,十分优秀!