Jestem bliski ukończenia ORM dla RethinkDB w Pythonie i utknąłem w testach pisania. Szczególnie w tych, w których uczestniczą save()
, get()
i delete()
operacje. Jaki jest zalecany sposób sprawdzenia, czy mój ORM robi to, co ma robić podczas zapisywania, usuwania lub uzyskiwania dokumentu?
Obecnie dla każdego testu w moim pakiecie tworzę bazę danych, zapełniam ją wszystkimi tabelami potrzebnymi modelom testowym (zajmuje to dużo czasu, prawie 5 sekund / test!), Uruchom operację na moim modelu (np .: save()
), a następnie ręcznie uruchom zapytanie do bazy danych (używając sterownika Python RethinkDB), aby sprawdzić, czy wszystko zostało zaktualizowane w bazie danych.
Teraz czuję, że to nie jest właściwe, może jestinny sposób na napisanie tych testów, a może mogę zaprojektować testy bez uruchamiania wielu zapytań do bazy danych. Każdy pomysł na to, jak mogę to poprawić lub zasugerować, jak to musi być naprawdę Gotowe?
Odpowiedzi:
3 dla odpowiedzi № 1Możesz utworzyć wszystkie bazy danych / tabele tylko raz dla wszystkich testów.
Możesz także użyć katalogu surowych danych: - Uruchom RethinkDB - Utwórz wszystkie swoje bazy danych / tabele - Zatwierdź to.
Przed każdym testem skopiuj katalog danych, uruchom RethinkDB na kopii, a następnie po zakończeniu testu usuń skopiowany katalog danych.