Mongodb testen bzw mocken

Raphael_

Aktives Mitglied
Hi,
ich habe eine monogdb Datenbank und ein Spring Boot backend. Mit der Mongodb kommuniziere ich mithilfe eines mongo repositorys. Dabei schreibe ich Daten in die Mongodb. Wie teste ich diesen Vorgang jetzt am besten? Kann ich das über das Repository machen, also die Funktion aufrufen und dann verifyen, ob es eine interaction gibt? Ich weiß, dass es dafür auch frameworks, wie flapdoodle gibt, aber flapdoodle wird ja mit der neuen Spring Boot Version nicht mehr unterstützt.
Also was ist da der best practice?
 

Raphael_

Aktives Mitglied
Ok,
danke für den Link, mein Problem ist, dass mir das mit Repository und Datenbank nicht ganz klar ist. Angenommen ich mocke mein Repository einfach, führe dann den Test darauf aus und check dann, ob das reposirtory leer ist. Habe ich dann getestet, ob die Kommunikation zwischen meine Anwendung und der Mongodb funktioniert? Eigentlich ja nicht, oder? Wie mache ich das dann?
 

LimDul

Top Contributor
Wenn du testen willst, ob die Verbindung zur MongoDB Funktioniert, ist es fraglich, ob du das per Unit-Test machen kannst/willst.

Mocken darfst du da natürlich nichts. Das heißt, du musst da einen Spring-Boot Test schreiben, der gleichzeitig auch eine MongoDB Instanz hochfährt (ich vermute nicht, dass das in Memory geht). Das geht über den Scope eines Unit-Tests deutlich heraus. Was willst du damit denn am Ende verifizieren? Das Spring Boot mit einer MongoDB arbeiten kann? Kann man machen - aber da ist es legitim sich drauf zu verlassen, das Spring Boot das unterstützt.
Oder willst du testen, dass User & Passwort etc. alles richtig sind? Dann ist es kein Unit-Test, sondern kann nur in der echten Anwendung getestet werden - denn du wirst ja nicht in deiner Anwendung hart User & Passwort hinterlegen. Die gehören in Konfigurationsdaten und sind je nach dem wo man die Anwendung betreibt ja auch unterschiedlich.

Oder willst du testen, dass du Daten in die Datenbank schreiben und lesen kannst? Dann nimm einen Spring Boot Test - der hat aber dann keine MongoDB darunter, sondern eine In-Memory Datenbank (Normalerweise H2, aber ich weiß nicht ob man das als Ersatz für die mongoDB nehmen kann)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
R Mongodb Daten werden immer überschrieben Datenbankprogrammierung 7
R Mongodb tree Architektur Datenbankprogrammierung 6
R Mongodb Unterschied MongoClient und Repository. Datenbankprogrammierung 3
R Mongodb Daten in einem bestimmten Document speichern Datenbankprogrammierung 1
R Mongodb Authentication failed Datenbankprogrammierung 6
R Beste Lösung für User Erstellung in mongodb Datenbankprogrammierung 1
6 MongoDB Dokument basierend auf Referenz finden Datenbankprogrammierung 1
MongoDB-Datenbank in Androidstudio einbinden Datenbankprogrammierung 1
T Spring MongoDB: Auswertung schlägt fehl Datenbankprogrammierung 1
T Spring MongoDB: Prüfen ob bereits eine Email existiert Datenbankprogrammierung 15
T Spring MongoDB @Indexed(unique=true) Datenbankprogrammierung 0
T Spring MongoDB self-reference Datenbankprogrammierung 2
N MongoDB Datenbankprogrammierung 5
S MongoDB löschung ohne Cascade Datenbankprogrammierung 1
OnDemand MySQL und mongoDB wann macht was Sinn? Datenbankprogrammierung 11
S MongoDB Community Edition Datenbankprogrammierung 1
S MongoDB - Abfrageergebnis in Array speichern Datenbankprogrammierung 2
C Über Classpath MongoDB Treiber einbinden und korrekte import Pfade Datenbankprogrammierung 8
B MongoDB- Queryception Datenbankprogrammierung 6
M MongoDb Versändnis Fragen: ( multiserver, morphia/morphium ) Datenbankprogrammierung 0
A MongoDB Passwort Problem Datenbankprogrammierung 0
T MongoDB: Morphia REST 505 Exception Tomcat Datenbankprogrammierung 2
G MongoDB - klassisches one to many Datenbankprogrammierung 2
P MongoDB vs. andere DBs Datenbankprogrammierung 0
D Daten posten auf RestApi (Mongodb/NoSQL) Datenbankprogrammierung 0
F MSSql oder MongoDB für die Speicherung von POI Datenbankprogrammierung 9
turmaline Oracle Testen DB-Background-Jobs mit JUNit Datenbankprogrammierung 10
D Mittels JUnit Reihe von DAOs testen Datenbankprogrammierung 10
K Schnelle Methode um zu testen ob Datensatz existiert Datenbankprogrammierung 9
timomeinen [Hibernate] Datenbankverbindung testen Datenbankprogrammierung 11

Ähnliche Java Themen

Neue Themen


Oben