2011-12-27 50 views
22

Tôi đang thử cấu hình java của mùa xuân. Trong khi sử dụng tệp cấu hình xml mà các kiểm tra đơn vị của tôi sử dụng để cókiểm tra đơn vị cấu hình java mùa xuân

@RunWith(SpringJUnit4ClassRunner.class) 
@ContextConfiguration(....) 

Nếu tôi đang sử dụng cấu hình java, Làm cách nào để thực hiện. hoặc tôi chỉ nên sử dụng

ApplicationContext appConfig = new AnnotationConfigApplicationContext(SimpleConfiguration.class); 

Trả lời

29

Kể từ mùa xuân 3.1, @ContextConfiguration hiện có hỗ trợ đầy đủ cho các lớp @Configuration; không cần XML.

Xem http://static.springsource.org/spring/docs/3.1.x/spring-framework-reference/htmlsingle/spring-framework-reference.html#d0e1392

Hoặc cụ thể hơn, http://static.springsource.org/spring/docs/3.1.x/spring-framework-reference/htmlsingle/spring-framework-reference.html#testcontext-ctx-management-javaconfig, trong đó cho thấy đoạn mã sau:

@RunWith(SpringJUnit4ClassRunner.class) 
// ApplicationContext will be loaded from AppConfig and TestConfig 
@ContextConfiguration(classes={AppConfig.class, TestConfig.class}) 
public class MyTest { 
    // class body... 
} 

AppConfigTestConfig là @Configuration lớp (aka "Java cấu hình" lớp học trong ý kiến ​​@ user373201 của)

+0

Không thấy sự liên quan đến câu hỏi của tôi. Tôi muốn biết cách sử dụng @ContextConfiguration khi sử dụng các lớp cấu hình Java – user373201

+0

Cảm ơn bạn rất nhiều. – user373201

+0

Có thể sử dụng cùng các lớp cấu hình Java được sử dụng trong mã nguồn hay các tệp sao chép và được đặt trong thư mục kiểm tra không? – user16655

3

@ContextConfiguration được sử dụng để tải cấu hình Spring khi bạn đang làm việc với các trường hợp kiểm tra. Nếu bạn không cần nó, bạn có thể sử dụng ClassPathXmlApplicationContext để tải cấu hình Spring.

Sử dụng constructor có vị trí cấu hình dưới dạng mảng Chuỗi.

AnnotationConfigApplicationContext được sử dụng để tự động phát hiện các lớp được chú thích. Tôi không nghĩ rằng nó có thể được sử dụng để tải các tập tin cấu hình. Nó tương tự như ngữ cảnh: component-scan

SpringJUnit4ClassRunner cung cấp hỗ trợ Spring Test cho Junit thông qua các chú thích như @Test.

+0

bạn có thể cung cấp một ví dụ về cách tôi có thể sử dụng @ContextConfiguration với các lớp cấu hình Java – user373201

+0

Các lớp cấu hình Java có ý nghĩa gì? Vui lòng cung cấp mẫu. –

+0

Tôi đã cập nhật câu trả lời ban đầu của mình để làm rõ thêm. –

Các vấn đề liên quan