MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

L'annotation MockBean dans le test Spring Boot provoque l'exception NoUniqueBeanDefinitionException

C'est un bogue :https://github.com/spring-projects/spring -boot/issues/6541

Le correctif est dans spring-data 1.0.2-SNAPSHOT et 2.0.3-SNAPSHOT :https://github.com/arangodb/spring-data/ problèmes/14#issuecomment-374141173

Si vous n'utilisez pas ces versions, vous pouvez contourner le problème en déclarant le mock avec son nom :

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

En réponse à votre commentaire

À partir de doc de Spring :

En lisant ceci, je pense que vous devez déclarer @SpringBootTest avec un environnement Web :

@SpringBootTest(webEnvironment=WebEnvironment.RANDOM_PORT)

Si votre démarrage de printemps ne démarre pas l'environnement Web, alors quel est le besoin de TestRestTemplate . Ainsi, je suppose que le printemps ne le rend même pas disponible.