Модульное тестирование с помощью Spring и Jersey Test Framework

Я пишу несколько интеграционных тестов на основе 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 и моим тестовым примером?

Спасибо!

9
задан Luan Kevin Ferreira 22 October 2018 в 00:35
поделиться