有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案