Zpo-3-wyk-Slajd36: Różnice pomiędzy wersjami
Nie podano opisu zmian |
Nie podano opisu zmian |
||
Linia 1: | Linia 1: | ||
==Testowanie obiektów | ==Testowanie z użyciem obiektów zastępczych== | ||
[[Image:zpo-3-wyk-Slajd36.PNG|Testowanie obiektów | [[Image:zpo-3-wyk-Slajd36.PNG|Testowanie z użyciem obiektów zastępczych]] | ||
Rozwiązaniem jest zastąpienie dla potrzeb przypadku testowego obiektu zależnego przez obiekt zastępczy (ang. ''mock'' ''object'' ). Obiekty zastępcze są pod względem typu identyczne jak obiekty zależne i są zamiennikami wystarczającymi dla potrzeb uruchomienia testu. | |||
W przypadku pokazanym na rysunku, obiekt połączenia z bazą danych jest zastąpiony przez obiekt zastępczy. Obiekt ten nie wykonuje żadnej operacji związanej z bazą danych, nie łączy się z nią ani nie wykonuje zapytań. Jego rola ogranicza się do naśladowania obiektu zależnego w takim tylko zakresie, jaki jest niezbędny do wykonania przypadku testowego. | |||
W stosunku do tradycyjnej procedury testowania, zmieniony jest krok 2. Zależności są spełniane nie przez obiekt testowany, ale przez klasę testującą, która przekazuje obiektowi testowanemu instancje obiektów zastępczych. | |||
Co ważne, obiekt zastępczy NIGDY nie zastępuje obiektu testowanego, a jedynie jego zależności. Celem jest przecież sprawdzenie, czy obiekt testowany zachowuje się poprawnie, więc użycie zamiast niego obiektu zastępczego nie ma sensu. | |||
[[zpo-3-wyk-Slajd35 | << Poprzedni slajd]] | [[zpo-3-wyk-toc|Spis treści ]] | [[zpo-3-wyk-Slajd37 | Następny slajd >>]] | [[zpo-3-wyk-Slajd35 | << Poprzedni slajd]] | [[zpo-3-wyk-toc|Spis treści ]] | [[zpo-3-wyk-Slajd37 | Następny slajd >>]] |
Aktualna wersja na dzień 21:54, 4 lis 2006
Testowanie z użyciem obiektów zastępczych
Rozwiązaniem jest zastąpienie dla potrzeb przypadku testowego obiektu zależnego przez obiekt zastępczy (ang. mock object ). Obiekty zastępcze są pod względem typu identyczne jak obiekty zależne i są zamiennikami wystarczającymi dla potrzeb uruchomienia testu.
W przypadku pokazanym na rysunku, obiekt połączenia z bazą danych jest zastąpiony przez obiekt zastępczy. Obiekt ten nie wykonuje żadnej operacji związanej z bazą danych, nie łączy się z nią ani nie wykonuje zapytań. Jego rola ogranicza się do naśladowania obiektu zależnego w takim tylko zakresie, jaki jest niezbędny do wykonania przypadku testowego.
W stosunku do tradycyjnej procedury testowania, zmieniony jest krok 2. Zależności są spełniane nie przez obiekt testowany, ale przez klasę testującą, która przekazuje obiektowi testowanemu instancje obiektów zastępczych.
Co ważne, obiekt zastępczy NIGDY nie zastępuje obiektu testowanego, a jedynie jego zależności. Celem jest przecież sprawdzenie, czy obiekt testowany zachowuje się poprawnie, więc użycie zamiast niego obiektu zastępczego nie ma sensu.