将 Spring 服务自动连接到 JUnit 测试中
2022-09-04 21:09:39
以下是服务。
@Service
public class MyService {
public List<Integer> getIds(Filter filter){
// Method body
}
}
和一个配置类。
@Configuration
public static class MyApplicationContext {
@Bean
public Filter filter(ApplicationContext context) {
return new Filter();
}
}
期望的目标是一个单元测试,以确认getIds()返回正确的结果。请参阅下面的 JUnit 测试。
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes=MyApplicationContext.class,
loader=AnnotationConfigContextLoader.class)
public class AppTest
{
@Autowired
Filter filter;
@Autowired
MyService service;
}
编译器为 Filter 类查找正确的 Bean,但为服务变量引发异常。我尝试将服务类添加到 ContextConfiguration 类属性,但这会导致异常。BeanCreationException: Could not autowire field
IllegalStateException: Failed to load ApplicationContext
如何将我的服务添加到上下文配置?