我有类测试,使用RestTemplate
. 现在我需要为类似的类编写另一个测试。我决定搬到@ContextHierarchy
下面的单独界面
@ContextHierarchy({
@ContextConfiguration(classes = {
ObjectMapperConfiguration.class, // ObjectMapper
HttpMessageConverterConfiguration.class // MappingJackson2HttpMessageConverter
}),
@ContextConfiguration(classes = HttpMessageConvertersAutoConfiguration.class),
@ContextConfiguration(classes = RestTemplateAutoConfiguration.class), // RestTemplate builder
@ContextConfiguration(classes = {
RestTemplateConfig.class, // finally RestTemplate
// tested service was HERE
})
})
public interface RestTemplateTest {
}
@ExtendWith(SpringExtension.class)
@ContextConfiguration(classes = TestedService.class) // now it is HERE
public class RestTest implements RestTemplateTest {
}
问题是关于代码不起作用。我从 Spring 收到TestedService
无法创建的错误消息,因为没有 type 的 bean RestTemplate
。
如果我TestedService
搬回去,@ContextHierarchy
那么一切都很好。