0

我有类测试,使用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那么一切都很好。

4

1 回答 1

0

事实证明,要让一切正常工作 RestTemplateTest 必须是一个,而不是一个接口

于 2020-06-30T10:00:24.237 回答