lord2105
20.08.2010, 11:58:15
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
20.08.2010, 12:00:45
A co rozumiesz pod słowami "piszesz zbyt ogólnie"?
askone
20.08.2010, 12:05:07
Hej
Zapewne chodzi o testy z wykorzystaniem
tego 
Pozdrawiam
lord2105
20.08.2010, 12:05:13
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
20.08.2010, 12:40:31
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
20.08.2010, 13:12:34
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
20.08.2010, 13:13:56
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
21.08.2010, 09:33:17
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
21.08.2010, 09:57:55
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.