Mamy jeden problem w zarządzaniu danymi testowymi (xmls, który jest używany do tworzenia próbnych obiektów). Dane, które mamy obecnie, ewoluowały przez długi czas. Za każdym razem, gdy dodajemy nową funkcję lub przypadek testowy, dodajemy nowe dane, aby przetestować tę funkcjonalność. Problem polega na tym, że gdy wymagania biznesowe zmieniają format (np. Długość lub format zmiennej) lub jakąkolwiek zmianę, której dane testowe nie obsługują, musimy zmienić całe dane testowe o rozmiarze 100 s. MB. Czy ktoś może zaproponować lepszą metodę lub proces, aby rozwiązać ten problem? Wszelkie sugestie będą mile widziane.Zarządzanie danymi testowymi dla testów Junit
Odpowiedz
Osobiście trzymałbym się z dala od tworzenia danych dla przypadków testowych w dowolnym miejscu, poza przypadkami testowymi. Zamiast tworzyć dane testowe, twórz generatory danych, które umożliwiają szybkie generowanie obiektów w każdym przypadku testowym lub w każdym z bloków przed.
ten ma dwie główne zalety:
- To sprawia, że testy znacznie łatwiejsze do odczytania jako programista może zobaczyć dokładnie jakie obiekty są używane, a
- To powinno znacznie zmniejszyć ilość testów dane, którymi musisz zarządzać.
Zatwierdź dane testowe dotyczące testów funkcjonalnych i integracyjnych i użyj narzędzia takiego jak DBDeploy do zarządzania tymi danymi. Te dane muszą być celowo małe. Zastosowanie DBDeploy i DBUnit pozwala na wyczyszczenie bazy danych przed każdym testem lub zestawem testów. Powinno to również ograniczyć ilość potrzebnych danych, ponieważ znacznie zwiększa wykorzystanie danych.
Choć nie jest to kompletne rozwiązanie do Twojego problemu, ale na pewno pomoże (szczególnie w przypadku, ponieważ masz 100s MB danych) - Napisz testy w oparciu o weryfikację zachowanie zamiast danych weryfikacyjnych.
Martin Fowler ma bardzo dobry artykuł here
Dzięki Mihir. Znalazłem artykuł przydatny. – nobody
- 1. Zarządzanie danymi aplikacji mobilnych
- 2. Grupowanie testów JUnit
- 3. Jak odtworzyć ten sam dokument DocumentTermMatrix z nowymi danymi (testowymi)
- 4. Netbeans i tworzenie testów JUnit
- 5. Ignorując AspectJ podczas testów JUnit
- 6. Czy istnieje sposób na utworzenie instancji typu z danymi testowymi?
- 7. Zarządzanie danymi sesji internetowej/przepływem kontrolera dla wielu kart
- 8. Najlepszy sposób na zarządzanie danymi Redis
- 9. Jak utworzyć raport HTML dla testów JUnit 5?
- 10. Ustawianie zmiennych środowiskowych dla wszystkich testów JUnit w Eclipse
- 11. Jak wstrzyknąć ServletContext dla testów JUnit ze sprężyną?
- 12. Jak korzystać z VisibleForTesting dla czystych testów JUnit
- 13. pokrycie kodu dla testów wtyczek junit z maven
- 14. Brak plików generowanych przez Dagger2 dla testów JUnit
- 15. Android usługa uruchomiona przez nie testów JUnit
- 16. Uruchamianie sparametryzowanych testów JUnit równolegle w Eclipse
- 17. Uruchamianie zestawu testów JUnit przy użyciu Maven
- 18. Lepsze lub niestandardowe filtrowanie JUnit do testów
- 19. Jak używać testów maven i jUnit?
- 20. Jak uruchomić JMH z wewnętrznych testów JUnit?
- 21. JUnit + DbUnit: Przełącz połączenie z bazą danych między środowiskami programistycznymi a testowymi
- 22. Zarządzanie danymi w równoległej pętli for w Julii
- 23. Uruchamianie testów JUnit z Eclipse daje ClassNotFound błąd
- 24. Jak logować wyniki testów junit do bazy danych
- 25. Ponowne użycie kontekstu aplikacji wiosennych w klasach testów junit
- 26. Czy JUnit jest odpowiednim narzędziem do pisania testów wydajności?
- 27. Alternatywy dla JUnit
- 28. Junit Matcher dla komparatorów?
- 29. JUnit 5 - Pusty zestaw testów w IntelliJ IDEA przy użyciu JUnit Jupiter engine
- 30. zajęcia uniemożliwiają zastosowanie/CommandLineRunner z wykonaniem podczas testów JUnit
Dzięki Chris. To był dobry wgląd. – nobody