Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Tester
Forum PHP.pl > Forum > PHP
lord2105
Witajcie mam małe pytanko otóż miałem do napisania pewną klasę w PHP teraz mam do niej napisać automatyczny tester co rozumiecie przez napisanie automatycznego testera?
wookieb
A co rozumiesz pod słowami "piszesz zbyt ogólnie"?
askone
Hej

Zapewne chodzi o testy z wykorzystaniem tego smile.gif

Pozdrawiam
lord2105

Cytat
A co rozumiesz pod słowami "piszesz zbyt ogólnie"?


Miałem do napisania klasę której jedna funkcja oblicza potęgę w sposób rekurencyjny i buforuje wyniki obliczeń, taką napisałem teraz mam do niej napisać automatyczny tester.
ShadowD
Pewnie chodzi o kod który poda jakąś liczbę w twoim wypadku i sprawdzi jej wynik z stałym wzorcem.

Czyli mając np. klasę (ok, funkcję - będzie łatwiej ale to to samo)
function licz($a, $b)
{
return $a+$b;
}

Piszemy tester
if(licz(10,20)==30)
echo 'działe';
else
echo 'nie działa';

I taką operację dajesz kilkukrotnie na innych liczbach, są one zawsze wpisane na stałe do skryptu. Co nam to daje - przy ogromnych klasach, po upgrade jakiegoś elementu np. wpadamy na inny pomysł jak rozwiązać problem i dane jak i wynik są identyczne (zmienia się tylko mechanizm) to taki tester od razu pokaże czy się coś po drodze nie zgubiło, czy pisząc z palca masz poprawny kod.

To taka moja interpretacja. :-)
lord2105
czyli przy klasie potegującej mogę zastosować coś w stylu pętli która raz będzie liczyła moją klasą a raz np. wbudowaną funkcją pow(); i porównywała wyniki ?
wookieb
Tak ale robi się to właśnie w PHPUnit-cie i szczerze mówiąc nie wyobrażam sobie innego narzędzia do tego zadania.
lord2105
Szczerze powiedziawszy z PHPUnit jeszcze się nie bawiłem, ale jak tak sobie czytam to on działa bo Unix`em czy można wykonywać testy pod platformą Windows?
wookieb
Pod każdą. Zainstaluj PEAR-a a następnie PHPUnit. Bardzo przydatnym narzędziem w testach jest Netbeans. Ułatwia ich tworzenie a także nadzorowanie. O pokryciu kodu nie wspomnę.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.