sql >> Database teknologi >  >> NoSQL >> MongoDB

Enhedstest med MongoDB

Tekniske tests, der taler til en database (nosql eller andet), er ikke enhedstests, da testene tester interaktioner med et eksternt system, og ikke kun tester en isoleret kodeenhed. Men test, der taler til en database, er ofte ekstremt nyttige og er ofte hurtige nok til at køre med de andre enhedstests.

Normalt har jeg en Service-grænseflade (f.eks. UserService), som indkapsler al logikken til at håndtere databasen. Kode, der er afhængig af UserService, kan bruge en hånet version af UserService og er let testet.

Når du tester implementeringen af ​​tjenesten, der taler til Mongo, (f.eks. MongoUserService) er det nemmest at skrive noget java-kode, der vil starte/stoppe en mongo-proces på den lokale maskine, og få din MongoUserService til at forbinde til det, se dette spørgsmål for nogle noter.

Du kan prøve at håne databasens funktionalitet, mens du tester MongoUserService, men generelt er det for fejludsat og tester ikke det, du virkelig vil teste, som er interaktion med en rigtig database. Så når du skriver test til MongoUserService, opsætter du en databasetilstand for hver test. Se på DbUnit for et eksempel på en ramme til at gøre det med en database.



  1. Bestiller MongoDB's $in-klausul garantiordre

  2. Hvor er meteor MongoDB-databasen?

  3. Redis starter ikke som Windows-tjeneste på Windows7

  4. mongo - kunne ikke oprette forbindelse til server 127.0.0.1:27017