我正在使用 JerseyTest 为 RESTful Web 服务编写一些基于 JUnit 的集成测试。JAX-RS 资源类使用 Spring,我目前正在将所有内容与测试用例连接在一起,如下面的代码示例:
public class HelloResourceTest extends JerseyTest
{
@Override
protected AppDescriptor configure()
{
return new WebAppDescriptor.Builder("com.helloworld")
.contextParam( "contextConfigLocation", "classpath:helloContext.xml")
.servletClass(SpringServlet.class)
.contextListenerClass(ContextLoaderListener.class)
.requestListenerClass(RequestContextListener.class)
.build();
}
@Test
public void test()
{
// test goes here
}
}
这适用于连接 servlet,但是,我希望能够在我的测试用例中共享相同的上下文,以便我的测试可以访问模拟对象、DAO 等,这似乎需要 SpringJUnit4ClassRunner。不幸的是,SpringJUnit4ClassRunner 创建了一个单独的并行应用程序上下文。
那么,任何人都知道如何创建一个在 SpringServlet 和我的测试用例之间共享的应用程序上下文?
谢谢!