Zpo-3-wyk-Slajd36: Różnice pomiędzy wersjami
Nie podano opisu zmian |
Nie podano opisu zmian |
||
Linia 7: | Linia 7: | ||
# Utworzenie instancji obiektu testowanego przez klasę testującą | # Utworzenie instancji obiektu testowanego przez klasę testującą | ||
# Uzyskanie referencji do obiektów zależnych niezbędnych do utworzenia/użycia obiektu testowanego. Może to polegać na bezpośrednim utworzeniu tego obiektu bądź jego wyszukaniu (np. w katalogu JNDI), lub też uruchomieniu oprogramowania dostarczającego tego środowiska (np. serwera aplikacji) | # Uzyskanie referencji do obiektów zależnych niezbędnych do utworzenia/użycia obiektu testowanego. Może to polegać na bezpośrednim utworzeniu tego obiektu bądź jego wyszukaniu (np. w katalogu JNDI), lub też uruchomieniu oprogramowania dostarczającego tego środowiska (np. serwera aplikacji) | ||
# Wywołanie przypadku | # Wywołanie przypadku testowego, który wywołuje metody w obiekcie testowanym | ||
Jednak taka procedura jest niezupełnie zgodna z ideą testowania jednostkowego. W tym przypadku testom poddawany jest nie tylko sam obiekt testowany, lecz także wszystkie jego zależności. Powoduje to, że błąd znaleziony w teście może w rzeczywistości wynikać z obiektu testowanego lub jego zależności, które przecież aktualnie nie są testowane. Niezależnie od tego, nie do zaakceptowania jest sytuacja, w której dla potrzeb każdego przypadku testowego będzie uruchamiany serwer aplikacji, którego rozruch zajmuje dłuższy czas. | Jednak taka procedura jest niezupełnie zgodna z ideą testowania jednostkowego. W tym przypadku testom poddawany jest nie tylko sam obiekt testowany, lecz także wszystkie jego zależności. Powoduje to, że błąd znaleziony w teście może w rzeczywistości wynikać z obiektu testowanego lub jego zależności, które przecież aktualnie nie są testowane. Niezależnie od tego, nie do zaakceptowania jest sytuacja, w której dla potrzeb każdego przypadku testowego będzie uruchamiany serwer aplikacji, którego rozruch zajmuje dłuższy czas. |
Wersja z 10:53, 17 paź 2006
Testowanie obiektów z zależnościami
Typowy proces testowania jednostkowego, w którym obiekt testowany wymaga pewnego środowiska, polega na wykonaniu następujących kroków
- Utworzenie instancji obiektu testowanego przez klasę testującą
- Uzyskanie referencji do obiektów zależnych niezbędnych do utworzenia/użycia obiektu testowanego. Może to polegać na bezpośrednim utworzeniu tego obiektu bądź jego wyszukaniu (np. w katalogu JNDI), lub też uruchomieniu oprogramowania dostarczającego tego środowiska (np. serwera aplikacji)
- Wywołanie przypadku testowego, który wywołuje metody w obiekcie testowanym
Jednak taka procedura jest niezupełnie zgodna z ideą testowania jednostkowego. W tym przypadku testom poddawany jest nie tylko sam obiekt testowany, lecz także wszystkie jego zależności. Powoduje to, że błąd znaleziony w teście może w rzeczywistości wynikać z obiektu testowanego lub jego zależności, które przecież aktualnie nie są testowane. Niezależnie od tego, nie do zaakceptowania jest sytuacja, w której dla potrzeb każdego przypadku testowego będzie uruchamiany serwer aplikacji, którego rozruch zajmuje dłuższy czas.
Celem testowania jednostkowego jest wyizolowanie obiektu testowanego od środowiska. Jednak jak osiągnąć ten cel, gdy obiekt ten wymaga spełnienia zależności?