Problem
Aby poprawić jakość kodu, postanowiłem spróbować nauczyć się testować mój kod przy użyciu testów jednostkowych zamiast moich miernych w najlepszym rozwiązaniach testowych.
Zdecydowałem się zainstalować PHPUnit przy użyciu kompozytora dla osobistej biblioteki, która pozwala mi na osiągnięcie wspólnych funkcji bazy danych. Na początku nie miałem pliku konfiguracyjnego dla PHPUnit i kiedy uruchamiałem polecenia takie jak:
$ phpunit tests/GeneralStringFunctions/GeneralStringFunctionsTest
Należy pamiętać, że jest to polecenie terminala, więc nie dołączyłem .php
rozszerzenia. GeneralStringFunctionsTest, o którym mowa powyżej, jest w rzeczywistości GeneralStringFunctionsTest.php
plikiem.
Wynik jest taki, jakiego się spodziewałem:
Czas: 31 ms, pamięć: 2,75 Mb
OK (1 test, 1 asercja)
Następnie próbowałem użyć pliku konfiguracyjnego, aby automatycznie załadować zestaw testów, zamiast za każdym razem ręcznie wpisywać plik. Utworzyłem plik o nazwie phpunit.xml
w moim katalogu głównym i wprowadziłem do pliku: http://pastebin.com/0j0L4WBD :
<?xml version = "1.0" encoding="UTF-8" ?>
<phpunit>
<testsuites>
<testsuite name="Tests">
<directory>tests</directory>
</testsuite>
</testsuites>
</phpunit>
Teraz, kiedy uruchomię polecenie:
phpunit
Otrzymuję następujący wynik:
PHPUnit 4.5.0 autorstwa Sebastiana Bergmanna i współpracowników.
Konfiguracja odczytana z /Users/muyiwa/Projects/DatabaseHelper/phpunit.xml
Czas: 16 ms, pamięć: 1,50 Mb
Nie wykonano żadnych testów!
Na wypadek, gdyby było to pomocne, moja struktura katalogów jest następująca:
src - katalog najwyższego poziomu (z całym moim kodem źródłowym)
testy - katalog najwyższego poziomu (ze wszystkimi moimi testami, ma taką samą strukturę jak mój folder src )
dostawca - pliki stron trzecich Composer
Mam również plik Composer json i plik blokady, a także plik phpunit xml na najwyższym poziomie jako pliki.
Rzeczy, których próbowałem
- Zmiana katalogu
phpunit.xml
natests/GeneralStringFunctions
- Zmiana katalogu
phpunit.xml
na./tests
- Przeniesienie
phpunit.xml
pliku dotests
katalogu, a następnie zmiana katalogu na./
zamiasttests
. - Dodanie atrybutu sufiksu do znacznika katalogu w programie w
phpunit.xml
celu określenia „Testy” jako jawnego przyrostka.
tests/GeneralStringFunctions/GeneralStringFunctionsTest
jest to nazwa folderu czy pliku?