MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Die MockBean-Annotation im Spring Boot-Test verursacht NoUniqueBeanDefinitionException

Es ist ein Fehler:https://github.com/spring-projects/spring -boot/issues/6541

Der Fix befindet sich in spring-data 1.0.2-SNAPSHOT und 2.0.3-SNAPSHOT :https://github.com/arangodb/spring-data/ Ausgaben/14#AusgabeKommentar-374141173

Wenn Sie diese Version nicht verwenden, können Sie sie umgehen, indem Sie den Mock mit seinem Namen deklarieren:

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

Als Antwort auf Ihren Kommentar

Aus dem Spring's doc :

Wenn Sie dies lesen, müssen Sie meiner Meinung nach @SpringBootTest deklarieren mit einer Webumgebung:

@SpringBootTest(webEnvironment=WebEnvironment.RANDOM_PORT)

Wenn Ihr Spring Boot die Webumgebung nicht startet, wozu dann TestRestTemplate . Daher schätze ich, dass der Frühling es nicht einmal verfügbar macht.