W tym wpisie postaram się przedstawić krok po kroku, co należy zrobić, abyśmy na naszej maszynie mieli zainstalowany PHPUnit oraz Xdebug, które to będą potrzebne do tworzenia testów jednostkowych oraz mierzenia pokrycia kodu testami. Zakładam, że użytkownik ma na swojej maszynie zainstalowany podstawowy zestaw, czyli Apache, PHP oraz MySQL, choć baza danych jest tutaj opcjonalna.

Instalacja pear

Pierwszym krokiem jest pobranie pliku go-pear.phar i zapisanie go w lokalizacji gdzie mamy zainstalowane php (domyślnie c:\Program Files\PHP). Po zapisaniu pliku przechodzimy do konsoli (Start ? Uruchom, wpisujemy polecenie “cmd” i klikamy OK). W systemie MS Windows 7 niestety możemy napotkać problem związany z brakiem uprawnień do modernizacji zawartości wszystkiego, co jest w folderze Program Files. Aby temu zapobiec musimy uruchomić konsolę jako administrator. W tym celu klikamy Start i w polu wyszukiwania programów wpisujemy “cmd”. Gdy na liście znalezionych programów pojawi nam się ikonka konsoli z etykietą cmd klikamy na niej prawym przyciskiem myszki i wybieramy opcję “Uruchom jako administrator”. W tym momencie pracujemy już w konsoli z pełnymi uprawnieniami.

Po uruchomieniu konsoli przechodzimy do lokalizacji, gdzie mamy zainstalowane php. Dla osób niezaznajomionych z komendami DOS:

cd c:\"Program Files"\PHP

i wprowadzamy następujące polecenie:

php go-pear.php

Instalator rozpocznie pracę i będzie nam zadawał pytania dotyczące poszczególnych opcji konfiguracyjnych. Domyślne wartości są zawsze zapisane w nawiasach kwadratowych i zastosowanie ich jest wystarczające. Przy każdym pytaniu dotyczącym danej opcji musimy więc przepisać wartość podaną w nawiasie kwadratowym i potwierdzić ją enterem.

Ostatnim krokiem instalacji pear jest potwierdzenie, że wyrażamy zgodę na modernizację pliku php.ini. Po zakończeniu instalacji konieczny jest restart serwera apache, aby zostały uwzględnione zmiany wprowadzone w pliku konfiguracyjnym.

Instalacja PHPUnit

Po zainstalowaniu pear możemy przejść do instalacji PHPUnit. Pozostajemy więc w okienku konsoli w folderze, gdzie mamy zainstalowane PHP. W linii poleceń wprowadzamy kolejno następujące polecenia i postępujemy zgodnie z instrukcjami pojawiającymi się na ekranie:

pear config-set auto_discover 1

pear install pear.phpunit.de/PHPUnit

Po chwili powinniśmy mieć już zainstalowane PHPUnit na naszym komputerze. Aby to sprawdzić wystarczy w linii poleceń wprowadzić polecenie:

phpunit

W związku z tym, że wywołujemy samo polecenie ‘phpunit’ bez żadnych parametrów, zostanie wyświetlona nam pomoc dotycząca uruchamiania PHPUnit.

Instalacja Xdebug

Ostatni krok to instalacja Xdebug, który będzie przydatny zarówno przy debugowaniu naszego kodu, jak również będzie wykorzystywany przez narzędzie mierzące stopień pokrycia naszego kodu testami.

Pierwszym krokiem jest stworzenie pliku o nazwie np. info.php, który będzie zawierał następujący kod:

<?php
phpinfo();

i zapisanie go w Document root naszego serwera (domyślnie c:\Program Files\Apache Group\Apache\htdocs). Następnie otwieramy przeglądarkę i wpisujemy następujący adres: http://localhost/info.php, co spowoduje wyświetlenie bieżącej konfiguracji php. Zaznaczamy całość wyświetlonych informacji (można użyć skrótu klawiaturowego Ctrl+a) i kopiujemy je do schowka (Ctrl+c).

Następnie przechodzimy na stronę Xdebug, gdzie możemy skorzystać z narzędzia, które dopasuje odpowiednią wersję Xdebug dla naszego systemu. W polu formularza wklejamy informacje konfiguracyjne naszego php (Ctrl+v) i klikamy przycisk: “Analyse my phpinfo() output”. Spowoduje to wyświetlenie podsumowania informacji dotyczących konfiguracji naszego środowiska, a przede wszystkim zostanie wyświetlony link do pobrania xdebug, który będzie najodpowiedniejszy dla naszego php i szczegółowej instrukcji instalacji. Dla mojego środowiska informacje te wyglądały tak jak na poniższym zrzucie ekranu.

W punkcie pierwszym mamy link pozwalający pobrać odpowiednią wersję Xdebug dla naszego systemu. Punkt 2 wskazuje na miejsce, gdzie mamy skopiować pobrany plik, a punkt 3 wyświetla nam linię, jako musimy dodać do naszego pliku konfiguracyjnego php.ini. Ostatni krok to restart apache i… możemy się cieszyć zainstalowanymi PHPUnit oraz Xdebug.

Posiadamy już więc niezbędne narzędzia do tworzenia testów jednostkowych. W kolejnym wpisie przedstawię szczegóły dotyczące konfiguracji Zend Framework, aby umożliwiała testowanie aplikacji i napiszemy przykładowy test.

Instalacja PHPUnit w MS Windows
Tagged on:                 

5 thoughts on “Instalacja PHPUnit w MS Windows

  • 2011-12-27 at 10:27
    Permalink

    Dzięki za zebranie informacji, akurat wczoraj musiałem reinstalować środowisko i trochę męczyłem z instalacją. Okazało się, że aby wszystko działało jak należy musiałem wiersz poleceń uruchomić jako administrator.
    Myślę, że warto uzupełnić notkę o tą informację.

    Reply
  • 2011-12-27 at 14:50
    Permalink

    @askone: masz rację. U siebie mam zainstalowane php w niestandardowej ścieżce. Uaktualniam już wpis z uwzględnieniem Windows 7 i standardową lokalizacją.

    Reply
  • Pingback:PHPUnit i Zend Framework | Mariusz Tulikowski – dev blog

  • 2012-03-28 at 10:01
    Permalink

    Czy ktoś z Was spotkał się z czymś takim, że po wpisaniu phpunit konsola zwraca tylko:
    Nazwa ‘phpunit’ nie jest rozpoznawana jako polecenie wewnętrzne lub zewnętrzne, program wykonywalny lub plik wsadowy.”
    Wamp pod Windows 7. Consola była uruchamiana jako admin. wszystko niby się dobrze zainstalowało. Tylko za pierwszym razem, gdy konsola mi zadała pytanie, to nic nie wpisałem, tylko nacisnąłem enter… Może ktoś z Was pomóć?

    Reply
  • 2012-05-05 at 10:45
    Permalink

    Kilka razy chciałem zainstalować pear i PHPUnit pod windows 7, i z tego wyszedł mały bałagan, a w pewnym momencie już nic się nie instalowało dostawałem następujący komunikat błędu (No releases available for package pear.phpunit.de/PHPUnit install failed), znalazłem w necie podobny problem i oto rozwiązanie pear clear-cache.

    Reply

Leave a Reply to Grzegorz Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Social Widgets powered by AB-WebLog.com.