MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

L'annotazione MockBean nel test Spring Boot causa NoUniqueBeanDefinitionException

È un bug:https://github.com/spring-projects/spring -boot/issues/6541

La correzione è in Spring-data 1.0.2-SNAPSHOT e 2.0.3-SNAPSHOT :https://github.com/arangodb/spring-data/ Issues/14#issuecomment-374141173

Se non stai utilizzando queste versioni, puoi aggirarle dichiarando il mock con il suo nome:

@MockBean(name="myMongoRepository")
private MyMongoRepository repository;

In risposta al tuo commento

Da Documento di Spring :

Leggendo questo, penso che tu debba dichiarare @SpringBootTest con un ambiente web:

@SpringBootTest(webEnvironment=WebEnvironment.RANDOM_PORT)

Se il tuo avvio primaverile non avvia l'ambiente web, allora qual è la necessità di TestRestTemplate . Quindi, suppongo che la primavera non lo renda nemmeno disponibile.