Ich habe eine reguläre Spring Boot-Anwendung (1.3.2) mit MongoDB mit MongoRepository
.Spring Boot MongoRepository Unit-Test mit vorinstalliertem MongoDB
Ich möchte einen Integrationstest für einen meiner Endpunkte schreiben, der die Daten von der MongoDB erhält. So weit ich sehe von der Spring Boot 1.3 Release Notes Feder hat automatische Konfiguration für Embedded MongoDB (de.flapdoodle.embed.mongo
). Ich kann jedoch nicht aus der Spring- und der plappdoodle-Dokumentation herausfinden, wie man einen Integrationstest schreibt, der die bereits installierte Version von MongoDB auf meinem Dateisystem verwendet.
Bisher sieht meine Integrationstest wie folgt aus:
@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(Application.class) // my application class
@WebAppConfiguration
public class IntegrationTest {
@Autowired
private MyRepository myRepository;
@Before
public void setup() {
myRepository.save(new MyEntity());
}
@Test
public void test() {
// here I will fire requests against the endpoint
}
}
ich zwei Abhängigkeiten mit test
Umfang hinzugefügt haben: spring-boot-starter-test
und de.flapdoodle.embed:de.flapdoodle.embed.mongo
. Wenn ich also den Test starte, kann ich sehen, dass Lappendoodle versucht, die Version von MongoDB herunterzuladen, aber es scheitert, da ich hinter dem Proxy bin. Aber ich möchte keine Versionen herunterladen, ich möchte meine lokal installierte MongoDB verwenden. Ist es möglich, dies zu tun?
hast du mit diesen getan. – devanathan