Tôi có một dịch vụ xuân sau:Autowire một dịch vụ xuân trong thử nghiệm JUnit
@Service
public class MyService {
public List<int> getIds(Filter filter){
...
}
}
và một lớp cấu hình:
@Configuration
public static class MyApplicationContext {
@Bean
public Filter filter(ApplicationContext context) {
return new Filter();
}
}
Bây giờ, tôi muốn tạo một bài kiểm tra đơn vị để kiểm tra xem phương thức getIds trả về kết quả chính xác. Tôi tạo ra một thử nghiệm JUnit sau:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes=MyApplicationContext.class,
loader=AnnotationConfigContextLoader.class)
public class AppTest
{
@Autowired
Filter filter;
@Autowired
MyService service;
}
Trình biên dịch tìm đậu chính xác cho các lớp Lọc nhưng ném "BeanCreationException: Không thể autowire trường" ngoại lệ cho biến dịch vụ. Tôi đã cố gắng thêm lớp dịch vụ vào lớp ContextConfiguration.classes nhưng sau đó trình biên dịch đã ném ngoại lệ "IllegalStateException: Failed to load ApplicationContext".
Làm cách nào để bao gồm MyService trong ContextConfiguration?
dán đầy đủ stack trace xin vui lòng? Và bạn đã định nghĩa bất kỳ hạt nào trong xml cũng sẽ giúp (nếu có) – SMA
Bạn phải [kể mùa xuân] (http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/context /annotation/ComponentScan.html) để quét các chú thích '@ Service' –