java WebMvcTest不忽略自定义redis配置
主类是这样的:
@SpringBootApplication
@EnableCaching
@ComponentScan({"com.sample", "com.sample.lib"})
public class Application extends SpringBootServletInitializer {
/**
* The main method.
*
* @param args the arguments
*/
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
/**
* Configure.
*
* @param builder the builder
* @return the spring application builder
*/
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(Application.class);
}
}
自定义配置
@Configuration
public class RedissonSpringDataConfig {
@Bean
public RedissonConnectionFactory redissonConnectionFactory(RedissonClient redisson) {
return new RedissonConnectionFactory(redisson);
}
.....
测试等级:
@RunWith(SpringRunner.class)
@WebMvcTest(controllers = ConfigController.class ,excludeAutoConfiguration = { RedissonConfiguration.class,
RedisAutoConfiguration.class, RedisRepositoriesAutoConfiguration.class, RedissonSpringDataConfig.class })
@AutoConfigureMockMvc
//@TestPropertySource(properties="spring.data.redis.repositories.enabled=false")
class ConfigControllerTest {
@Autowired
private MockMvc mockMvc;
@MockBean
private RestTemplate restTemplate;
这个扔
org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.redisson.api.RedissonClient]: Factory method 'redisson' threw exception; nested exception is java.net.UnknownHostException: failed to resolve 'redis' after 4 queries
我使用TestPropertySource注释尝试了一系列选项。我读了一些答案,认为ComponentScan可能是这个错误的根源,但无法用一些我认为可以解决的方法来修复。有人可以帮助忽略自定义redis客户端配置类吗
我在自定义配置类上注释掉了@Configuration,但这并不是一个很好的解决方法
共 (0) 个答案