2010-06-10 15 views
5

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

7

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:

  1. To sprawia, że ​​testy znacznie łatwiejsze do odczytania jako programista może zobaczyć dokładnie jakie obiekty są używane, a
  2. 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.

+0

Dzięki Chris. To był dobry wgląd. – nobody

3

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

+0

Dzięki Mihir. Znalazłem artykuł przydatny. – nobody

Powiązane problemy