MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

A anotação MockBean no teste Spring Boot causa NoUniqueBeanDefinitionException


É um bug:https://github.com/spring-projects/spring -boot/issues/6541

A correção está em spring-data 1.0.2-SNAPSHOT e 2.0.3-SNAPSHOT :https://github.com/arangodb/spring-data/ issues/14#issuecomment-374141173

Se você não estiver usando essas versões, poderá contornar isso declarando o mock com seu nome:
@MockBean(name="myMongoRepository")
private MyMongoRepository repository;

Em resposta ao seu comentário

Do Documento do Spring :

Lendo isso, acho que você precisa declarar @SpringBootTest com um ambiente web:
@SpringBootTest(webEnvironment=WebEnvironment.RANDOM_PORT)

Se sua inicialização de mola não iniciar o ambiente da Web, qual é a necessidade de TestRestTemplate . Assim, acho que a primavera nem sequer a disponibiliza.