Zpo-3-wyk-Slajd38: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Bwalter (dyskusja | edycje)
Nie podano opisu zmian
 
Bwalter (dyskusja | edycje)
Nie podano opisu zmian
 
(Nie pokazano 1 pośredniej wersji utworzonej przez tego samego użytkownika)
Linia 1: Linia 1:
==Obiekt zastępczy==
==Użycie obiektów zastępczych==


[[Image:zpo-3-wyk-Slajd38.PNG|Obiekt zastępczy]]
[[Image:zpo-3-wyk-Slajd38.PNG|Użycie obiektów zastępczych]]




Koncepcja obiektów zastępczych, zaproponowana przez Mackinnona i Freemana w 2000 roku, ma na celu rozwiązanie przedstawionych przed chwilą problemów związanych z testowaniem jednostkowym. Obiekt zastępczy posiada interfejs zastępowanego przez niego obiektu zależnego, a zatem może zastąpić go w interakcji z obiektem testowanym bez jakichkolwiek zmian w kodzie. Jest najprostszą możliwą implementacją obiektu zależnego, co oznacza, że nie wykonuje żadnych operacji, które nie są niezbędne z punktu widzenia obiektu testowanego. Zwykle jego działanie sprowadza się do zwracania poprzez swoje metody określonych "na sztywno" wartości. Jest zatem prymitywnym naśladowcą obiektu testowanego.
Pełna procedura przebiega w następujących krokach:
 
# Utworzenie instancji obiektów zastępczych koniecznych do utworzenia/użycia obiektu testowanego. W ten sposób przygotowane zostaje środowisko wykonania przypadku testowego
Aby zdefiniować jego zachowanie, musi być konfigurowalny – można w nim określić wartości zwracane przez jego metody.
# Obiekty zastępcze są konfigurowane wartościami parametrów, które zostaną przekazane obiektowi testowanemu, gdy on wywoła ich metody.
 
# Obiekty zastępcze otrzymują dodatkową informację na temat spodziewanej interakcji z obiektem testowanym, np. minimalnej lub maksymalnej liczbie wywołań określonej metody. Informacja ta posłuży następnie do zweryfikowania poprawności stanu obiektów zastępczych po zakończeniu testu. W ten sposób pełni rolę dodatkowego mechanizmu weryfikacyjnego, niezależnego od asercji umieszczonych w przypadku testowym.
Wreszcie ostatnią własnością jest możliwość śledzenia interakcji z obiektem testowanym. Dzięki temu powstaje dodatkowa metoda weryfikacji zachowania obiektu testowanego: jeżeli wywoła on metody obiektu zastępczego niewłaściwą liczbę razy, nie zapyta o parametr, o który powinien zapytać – wówczas obiekt zastępczy może także zgłosić błąd, który będzie tożsamy z niespełnieniem asercji przypadku testowego.
# Metoda testowana jest wywoływana przez przypadek testowy. Jeżeli to konieczne, metoda testowana otrzymuje parametry będące obiektami zastępczymi.
# Wyniki wywołania metody są weryfikowane przez obiekty zastępcze (patrz pkt. 3). Jeżeli jakakolwiek założona zależność nie została spełniona, zgłaszany jest wyjątek, który wskazuje na niepowodzenie przypadku testowego.




[[zpo-3-wyk-Slajd37 | << Poprzedni slajd]] | [[zpo-3-wyk-toc|Spis treści ]] | [[zpo-3-wyk-Slajd39 | Następny slajd >>]]
[[zpo-3-wyk-Slajd37 | << Poprzedni slajd]] | [[zpo-3-wyk-toc|Spis treści ]] | [[zpo-3-wyk-Slajd39 | Następny slajd >>]]

Aktualna wersja na dzień 21:54, 4 lis 2006

Użycie obiektów zastępczych

Użycie obiektów zastępczych


Pełna procedura przebiega w następujących krokach:

  1. Utworzenie instancji obiektów zastępczych koniecznych do utworzenia/użycia obiektu testowanego. W ten sposób przygotowane zostaje środowisko wykonania przypadku testowego
  2. Obiekty zastępcze są konfigurowane wartościami parametrów, które zostaną przekazane obiektowi testowanemu, gdy on wywoła ich metody.
  3. Obiekty zastępcze otrzymują dodatkową informację na temat spodziewanej interakcji z obiektem testowanym, np. minimalnej lub maksymalnej liczbie wywołań określonej metody. Informacja ta posłuży następnie do zweryfikowania poprawności stanu obiektów zastępczych po zakończeniu testu. W ten sposób pełni rolę dodatkowego mechanizmu weryfikacyjnego, niezależnego od asercji umieszczonych w przypadku testowym.
  4. Metoda testowana jest wywoływana przez przypadek testowy. Jeżeli to konieczne, metoda testowana otrzymuje parametry będące obiektami zastępczymi.
  5. Wyniki wywołania metody są weryfikowane przez obiekty zastępcze (patrz pkt. 3). Jeżeli jakakolwiek założona zależność nie została spełniona, zgłaszany jest wyjątek, który wskazuje na niepowodzenie przypadku testowego.


<< Poprzedni slajd | Spis treści | Następny slajd >>