Thread use Test::Simple;: wie teste ich richtig?!
(5 answers)
Opened by Ronnie at 2005-03-22 14:18
die codefragmente sind in der reihenfolge, ich hab nur einzelne statements rausgezogen um sie farbig markieren zu können.
Code: (dl
)
1 #!/usr/bin/perl use DB::Countries; hierfür gibts require_ok/use_ok, dafür brauchts du allerdings Test::More. Test::More hat Test::Simple als API untermenge, du kannst also einfach Test::More anstelle Test::Simple importieren. Code: (dl
)
1 my $country = new DB::Countries; my $inserted = $country->insert($to_insert); entweder du testest $inserted direkt hier oder der nachfolgende hash hat mind. 2 möglichkeiten für den wert hinter dem schlüssel ID_country. ist das wirklich was du willst? Code: (dl
)
1 my $to_update = { country => 'Lummerland', ok (defined $response, '$response is defined'); ok (ref $response eq 'ARRAY', '$response is a reference to an array'); dafür gibts isa_ok, oder du benutzt die kurzschlussemantik von &&. aber dafür ganze zwei zeilen?! ;) ok ($response->[0]->{country} eq 'Testunien', '$response->[0]->{country} has expected value: "Testunien"'); der code funktioniert nur unter der annahme, dass $response mind. 1 element enthält. Code: (dl
)
1 ok ($response->[0]->{country_code} eq 'TST', ok ($country->update($to_update), '$country->update($to_update) called and succeeded'); heisst das dass update eine exception schmeisst oder das update eine wert > 0 zurückliefert wenn die operation erfolgreich war? Code: (dl
)
1 $response = $country->get($inserted); schau dir den code mal genau an. du willst, dass $response eine bestimmte struktur hat, die du vorher angeben kannst. dafür gibts is_deeply(). schau dir auch mal can_ok() an. btw einer der fünf smileys ist echt. rate mal welcher. hth -- stefan
|