sql >> Database >  >> NoSQL >> MongoDB

Unit testen met MongoDB

Technisch gezien zijn tests die met een database praten (nosql of anderszins) geen unit-tests, omdat de tests interacties met een extern systeem testen en niet alleen een geïsoleerde code-eenheid testen. Tests die met een database praten, zijn echter vaak buitengewoon nuttig en zijn vaak snel genoeg om samen met de andere unit-tests uit te voeren.

Meestal heb ik een Service-interface (bijv. UserService) die alle logica bevat voor het omgaan met de database. Code die afhankelijk is van UserService kan een bespotte versie van UserService gebruiken en is eenvoudig te testen.

Bij het testen van de implementatie van de Service die met Mongo praat (bijv. MongoUserService), is het het gemakkelijkst om Java-code te schrijven die een Mongo-proces op de lokale computer start/stopt, en uw MongoUserService daarmee te laten verbinden, zie deze vraag voor sommigen notities.

Je zou kunnen proberen de functionaliteit van de database te bespotten tijdens het testen van MongoUserService, maar over het algemeen is dat te foutgevoelig en test het niet wat je echt wilt testen, namelijk interactie met een echte database. Dus wanneer u tests schrijft voor MongoUserService, stelt u voor elke test een databasestatus in. Kijk bij DbUnit voor een voorbeeld van een framework om dit met een database te doen.



  1. Verwijder alle niet-utf-8-symbolen uit string

  2. mongodb-authenticatie met verbindingsreeks

  3. Kan ik MongoDB ObjectId op datum opvragen?

  4. Introductie van Apache HBase Medium Object Storage (MOB) verdichtingspartitiebeleid