Moduł Test::Simple
Uniwersytet Gdański - Instytut Matematyki - Zakład Informatyki - Strona domowaSpis treści
Wstęp
Test::Simple to najprostszy moduł, który pomaga w testowaniu skryptów. Gdyby nie było tego modułu (oraz podobnych ) programiści musieli by pisać własne skrypty testujące, które mogłyby wyglądać mniej więcej tak:print((1+1 ==2 ? "":"błąd"),"ok - pierwszy wiersz\n");
print(( 2+ 2 != 7 ? "": "błąd"),"ok - drugi wiersz\n");
if( foobar() ){
print "ok - funkcja foobar\n";
}else {
print "błąd - funkcja foobar\n";
}
Opis
Moduł Test::Simple umożliwia budowanie prostych testów. Skrypt testujący do przykładu ze wstępu mógłby wyglądać tak:
use Test::Simple tests=>3;
sub foo{
1;
}
ok( 1 + 1 == 2);
ok( 2 + 2 != 7,"Dwa plus dwa jest różne od 7");
ok( foo() );
w wyniku uruchomienia tego skryptu otrzymamy:
1..3
ok 1
ok 2 - Dwa plus dwa jest różne od 7
ok 3
Pierwszy wiersz skryptu use Test::Simple tests=> 3 ładuje moduł oraz definiuje ilość testów w skrypcie. Test jest tu rozumiany jako wywołanie funkcji ok() a nie jako pojedynczy test całego skryptu. Jest to o tyle ważne że moduł testujący z góry wie ile testów powinno się odbyć i w przypadku gdyby testowany skrypt z jakichś powodów zakończył działanie wcześniej, otrzymamy na wyjściu odpowiedni komunikatm. Gdyby zmodyfikować skrypt testujący i w pierwszym wierszu wpisać: use Test::Simple tests=>2 to otrzymamy na wyjściu taki komunikat: # Looks like you planned 2 tests but ran 1 extra. w przeciwnym przypadku: use Test::Simple tests=>6 na wyjściu będzie: # Looks like you planned 6 tests but only ran 3.
Funkcja ok() może przyjmować jeden lub dwa argumenty. Pierwszy argument jest sprawdzany pod kontem wartości logicznej. W przypadku gdy jest on prawdziwy test kończy się powodzeniem. Argument ten traktowany jest w sposób skalarny, czyli dla: ok( @grupa2,"Grupa druga nie jest pusta"); sprawdza czy tablica zawiera jakiś element.
Dodatkowe informacje
Dokumentacja pod adresem http://search.cpan.org/~mschwern/Test-Simple-0.70/lib/Test/Simple.pm.
Autor opracowania i kontakt do niego
Autor: Damian Karpiński
Email: plactostomus@wp.pl