Tôi đang cố gắng tìm ra cách truy cập các bean Spring từ một lớp con của JerseyTest. Mở rộng JerseyTest Tôi đã quản lý để tải bối cảnh mùa xuân trong các thử nghiệm của mình, nhưng tôi đã không tìm ra cách truy cập bối cảnh mùa xuân. Thiết lập của tôi trông giống như sau:Truy cập các hạt đậu mùa xuân ở 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());
}
}
Thiết lập đang sử dụng Vùng chứa Web Grizzly mặc định. Tôi chưa bao giờ sử dụng Grizzly trước đây, nhưng trong Jetty tôi sẽ làm một cái gì đó như thế này:
public Object getSpringBean(String beanName) {
WebAppContext context = (WebAppContext) server.getHandler();
ServletContext sc = context.getServletContext();
WebApplicationContext applicationContext = WebApplicationContextUtils.getWebApplicationContext(sc);
return applicationContext.getBean(beanName);
}
Bất cứ ai có thể chỉ cho tôi đi đúng hướng?
Không chắc chắn nếu có một cách khác xung quanh này, nhưng tôi tìm thấy bài đăng trên blog này: http://geek.riffpie.com/2010/ 08/09/unit-testing-restful-jersey-services-dán-cùng-với-mùa xuân/Sử dụng hỗ trợ kiểm tra jersey Tôi bây giờ có thể sử dụng @Autowired trong các bài kiểm tra của tôi là tốt. – ebaxt
Dường như liên kết ở trên bị hỏng, liên kết được cập nhật: http://geek.riffpie.com/unit-testing-restful-jersey-services-glued-together-with-spring/ – crobicha