Я пишу несколько интеграционных тестов на основе JUnit для веб-службы RESTful, используя JerseyTest. Классы ресурсов 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
}
}
Это работает для подключения сервлета, однако я хотел бы иметь возможность совместно использовать тот же контекст. в моем тестовом примере, чтобы мои тесты могли иметь доступ к фиктивным объектам, DAO и т. д., что, похоже, требует SpringJUnit4ClassRunner. К сожалению, SpringJUnit4ClassRunner создает отдельный параллельный контекст приложения.
Итак, кто-нибудь знает, как мне создать контекст приложения, совместно используемый SpringServlet и моим тестовым примером?
Спасибо!