Próbuję dowiedzieć się, jak uzyskać dostęp do fasoli Spring z podklasy w JerseyTest. Rozszerzanie JerseyTest Udało mi się wczytać kontekst Spring podczas moich testów, ale nie wiedziałem, jak uzyskać dostęp do kontekstu sprężyn. Moja konfiguracja wygląda następująco:Uzyskiwanie dostępu do fasoli Spring w JerseyTest
public abstract class SpringJerseyTest extends JerseyTest {
public SpringJerseyTest() throws Exception {
super(new WebAppDescriptor.Builder("com.acme.resources")
.contextPath("/")
.contextParam("contextConfigLocation", "classpath:applicationContext.xml")
.servletClass(SpringServlet.class)
.contextListenerClass(ContextLoaderListener.class)
.build());
}
}
Konfiguracja wykorzystuje domyślny kontener WWW Grizzly. Nigdy nie stosować Grizzly wcześniej, ale w Jetty chciałbym zrobić coś takiego:
public Object getSpringBean(String beanName) {
WebAppContext context = (WebAppContext) server.getHandler();
ServletContext sc = context.getServletContext();
WebApplicationContext applicationContext = WebApplicationContextUtils.getWebApplicationContext(sc);
return applicationContext.getBean(beanName);
}
Czy ktoś może wskazać mi w dobrym kierunku?
Nie wiem, czy istnieje inny sposób obejść ten problem, ale znalazłem ten blogpost: http://geek.riffpie.com/2010/ 08/09/testowanie jednostkowe-restful-jersey-services-sklejone ze sprężyną/Korzystając z testu testu koszulki, mogę teraz również używać @Autowired w moich testach. – ebaxt
Wygląda jak link powyżej jest uszkodzony, zaktualizowany link: http://geek.riffpie.com/unit-testing-restful-jersey-services-glued-together-with-spring/ – crobicha