Zpo-4-lab: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Bwalter (dyskusja | edycje)
Nie podano opisu zmian
Bwalter (dyskusja | edycje)
Linia 9: Linia 9:
Przygotowanie do ćwiczenia polega na zainstalowaniu [http://java.sun.com/javase/downloads/index.jsp JDK 5.0] oraz środowiska [http://www.eclipse.org/downloads Eclipse] w wersji 3.2
Przygotowanie do ćwiczenia polega na zainstalowaniu [http://java.sun.com/javase/downloads/index.jsp JDK 5.0] oraz środowiska [http://www.eclipse.org/downloads Eclipse] w wersji 3.2
Biblioteka EasyMock jest dołączona do projektu zawierającego [media:zpo-05-lab.zip|szablon aplikacji]. Można także pobrać ją ze strony projektu [http://www.easymock.org EasyMock]
Biblioteka EasyMock jest dołączona do projektu zawierającego [media:zpo-05-lab.zip|szablon aplikacji]. Można także pobrać ją ze strony projektu [http://www.easymock.org EasyMock]
Po uruchomieniu środowiska i wyborze przestrzeni roboczej należy zaimportować (menu File->Import->Existing projects into workspace) projekt [[media:zpo-05-lab.zip|zpo-05-lab.zip]] z szablonem rozwiązania.
Po uruchomieniu środowiska i wyborze przestrzeni roboczej należy zaimportować (menu File->Import->Existing projects into workspace) projekt [[media:zpo-04-lab.zip|zpo-04-lab.zip]] z szablonem rozwiązania.


==Zadanie 1==
==Zadanie 1==

Wersja z 11:28, 6 wrz 2006

Ćwiczenie 4. Obiekty zastępcze

Informacje wstępne

Ćwiczenie jest realizowany w języku Java w środowisku Eclipse 3.2. Przed przystąpieniem do realizacji ćwiczenia należy zapozanać się z wykładem. Celem ćwiczenia zastosowanie obiektów zastępczych (ang. mock objects) do testowania jednostkowego systemów obiektowych.

Instalacja

Przygotowanie do ćwiczenia polega na zainstalowaniu JDK 5.0 oraz środowiska Eclipse w wersji 3.2 Biblioteka EasyMock jest dołączona do projektu zawierającego [media:zpo-05-lab.zip|szablon aplikacji]. Można także pobrać ją ze strony projektu EasyMock Po uruchomieniu środowiska i wyborze przestrzeni roboczej należy zaimportować (menu File->Import->Existing projects into workspace) projekt zpo-04-lab.zip z szablonem rozwiązania.

Zadanie 1

Napisz testy jednostkowe wykorzystujące obiekty zastępcze (ang. mock objects) do testowania aplikacji-zegara.

Zegar jest systemem interpretującym drgania generatora, który odmierza czas w postaci odcinków jednosekundowych. Generator drgań jest niezbędny do uruchomienia zegara, jednak wykorzystanie go w środowisku testowym jest niemożliwe, ponieważ wykonanie niektórych przypadków testowych zajęłoby zbyt wiele czasu.

Dlatego należy zaimplementować obiekt zastępczy reprezentujący generator drgań, który zastąpi odliczanie sekund prostszym i konfigurowalnym mechanizmem. Obiekt zastępczy jest alternatywną (w stosunku do istniejącego generatora drgań) implementacją interfejsu GeneratorDrgan, którego metody posiadają najmniejszą możliwą funkcjonalność, a jednocześnie są konfigurowalne.

Zadanie 2

Drugim zadaniem jest zrealizowanie tego samego obiektu zastępczego za pomocą biblioteki EasyMock, która pozwala na dynamiczne (tj. bez konieczności ich ręcznej implementacji) utworzenie obiektów z wykorzystaniem mechanizmu Java Dynamic Proxy.

Dokumentacja systemu EasyMock znajduje się pod adresem EasyMock

Literatura

  1. T. Mackinnon, S. Freeman, P. Craig "Endo testing. Unit testing with mock objects". [PDF]
  2. "Mock objects i EasyMock w praktyce". [Java Developers Network]
  3. A. Chaffee, W. Pietri "Unit testing with mock objects". [IBM]
  4. EasyMock Homepage, http://www.easymock.org