MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Testowanie jednostkowe z MongoDB

Technicznie testy, które komunikują się z bazą danych (nosql lub inną) nie są testami jednostkowymi, ponieważ testy testują interakcje z systemem zewnętrznym, a nie tylko testują wyizolowaną jednostkę kodu. Jednak testy, które komunikują się z bazą danych, są często niezwykle przydatne i często są wystarczająco szybkie, aby można je było uruchomić z innymi testami jednostkowymi.

Zwykle mam interfejs usługi (np. UserService), który zawiera całą logikę obsługi bazy danych. Kod, który opiera się na UserService, może używać fałszywej wersji UserService i można go łatwo przetestować.

Podczas testowania implementacji usługi, która komunikuje się z Mongo (np. MongoUserService), najłatwiej jest napisać kod java, który uruchomi/zatrzyma proces mongo na lokalnym komputerze i połączy się z nim MongoUserService, zobacz to pytanie dla niektórych notatki.

Możesz próbować zakpić funkcjonalność bazy danych podczas testowania MongoUserService, ale generalnie jest to zbyt podatne na błędy i nie testuje tego, co naprawdę chcesz przetestować, czyli interakcję z prawdziwą bazą danych. Dlatego podczas pisania testów dla MongoUserService ustawiasz stan bazy danych dla każdego testu. Spójrz na DbUnit, aby zapoznać się z przykładem frameworka do robienia tego z bazą danych.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jak osiągnąć wycofanie w transakcjach w mongo?

  2. Przekieruj wyjście zapytania mongo do pliku csv

  3. Konfigurowanie uwierzytelniania MongoDB-CR jako domyślnego w MongoDB 3.x

  4. Opcja automatycznego ponownego łączenia Mongoose

  5. Tworzenie bazy danych w Mongo:nie można się połączyć, połączenie nie powiodło się