Schrift
[thread]11761[/thread]

Output einer "Test-Suite"

Tags: Ähnliche Threads

Leser: 2


<< |< 1 2 >| >> 11 Einträge, 2 Seiten
roli
 2008-05-06 19:56
#109290 #109290
User since
2004-12-31
424 Artikel
BenutzerIn
[default_avatar]
Hi,

ich bin dabei mir eine "Test-Suite" zu bauen. Soweit klappt's auch ganz gut, nur wuerde ich das ganze gerne etwas gespraechiger machen. Aktuell bekomme ich folgenden Output:
Code: (dl )
1
2
3
4
5
6
7
8
9
> make test
/usr/bin/perl "-MTest::Manifest" "-e" "run_t_manifest(0, 'blib/lib', 'blib/arch', )"
Level is
Test::Manifest::test_harness found [t/beispiel_aufruf.t t/ohne_argumente.t]
t/beispiel_aufruf....ok
t/ohne_argumente.....ok
All tests successful.
Files=2, Tests=5, 0 wallclock secs ( 0.08 cusr + 0.00 csys = 0.08 CPU)
>

Ich sehe hier zwar das in meinen zwei Dateien insgesammt 5 Test's "stecken", und auch, das sie alle wie erwartet gelaufen sind, aber ...
Wie schaffe ich es das die "Kommentare/Namen" die ich zu den einzelnen Tests geschrieben habe ausgegeben werden, Beispiel:
Code (perl): (dl )
ok( $rc == 0, "Returncode ist wie erwartet 1." );

Kann ich irgendwo einstellen das ich auch die "Einzeltests" angezeigt bekomme?

Danke
Roland
--
"Steh vorn, während du fragst;
sitzen soll, wer antwortet."
Aus "Die Edda des Snorri Sturluson" "Gylfis Täuschung" Strophe 2
moritz
 2008-05-06 20:03
#109291 #109291
User since
2007-05-11
923 Artikel
HausmeisterIn
[Homepage]
user image
Code: (dl )
prove --verbose t/
moritz
 2008-05-06 20:06
#109292 #109292
User since
2007-05-11
923 Artikel
HausmeisterIn
[Homepage]
user image
Übrigens würde man

Code (perl): (dl )
ok( $rc == 0, "Returncode ist wie erwartet 1." );


Eher so schreiben:

Code (perl): (dl )
is($rc, 0, "Returncode ist wie erwartet");

oder
Code (perl): (dl )
cmp_ok($c, '==', 0, "Returncode ist wie erwartet");


Wenn er nämlich anders ist als erwartet, sieht nicht nur, dass der Test fehlgeschlagen ist, sondern auch, wie der fehlerhafte Wert lautet.
roli
 2008-05-06 20:15
#109293 #109293
User since
2004-12-31
424 Artikel
BenutzerIn
[default_avatar]
Hi Moritz,

danke fuer deine Tipps, werde ich gleich mal umsetzen.
kann ich das "prove --verbose t/" eigentlich auch in meinen Testscripts einzeln ein- bzw. ausschalten? Primär interessiert's mich halt für das Testscript an dem ich gerade baue.
Roland
--
"Steh vorn, während du fragst;
sitzen soll, wer antwortet."
Aus "Die Edda des Snorri Sturluson" "Gylfis Täuschung" Strophe 2
moritz
 2008-05-06 21:12
#109299 #109299
User since
2007-05-11
923 Artikel
HausmeisterIn
[Homepage]
user image
Ich mache das immer so, dass ich den Test, an dem ich gerade arbeite, von Hand aufrufe (also perl -Ilib t/current-test.t), und wenn er durchläuft lasse ich noch mal 'make test' laufen.

Ob man die Ausgabe pro Test ändern kann weiss ich nicht, das könnte aber in der Dokumentation von Test::Harness stehen.
renee
 2008-05-07 11:33
#109327 #109327
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Du kannst ja $Test::Harness::Verbose in jedem Test-Skript setzen. Das sollte den gewünschten Effekt haben.
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
roli
 2008-05-07 12:33
#109334 #109334
User since
2004-12-31
424 Artikel
BenutzerIn
[default_avatar]
Hi,

wenn ich prove --verbose t/ aufrufe erhalte ich u.a.:
Code (perl): (dl )
1
2
3
4
5
t/ohne_argumente.......
1..3
ok 1 - Returncode ist wie erwartet 1.
ok 2 - output is what I wanted
ok 3 - warning is right


Nachdem ich jetzt $Test::Harness::verbose=1; in dem Script "ohne_argumente.t" drinnen habe ist das Ergebnis von make test aber immer noch wie oben gezeigt. Wuenschen wuerde ich mir was wie:
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
> make test
/usr/bin/perl "-MTest::Manifest" "-e" "run_t_manifest(0, 'blib/lib', 'blib/arch',  )"
Level is
Test::Manifest::test_harness found [t/beispiel_aufruf.t t/ohne_argumente.t]
t/beispiel_aufruf......ok
t/ohne_argumente.......ok
  1..3
  ok 1 - Returncode ist wie erwartet 1.
  ok 2 - output is what I wanted
  ok 3 - warning is right
  ok

All tests successful.
Files=2, Tests=5,  0 wallclock secs ( 0.01 usr  0.00 sys +  0.11 cusr  0.01 csys =  0.13 CPU)
Result: PASS
>

Gibt's das ueberhaupt?
Roland
--
"Steh vorn, während du fragst;
sitzen soll, wer antwortet."
Aus "Die Edda des Snorri Sturluson" "Gylfis Täuschung" Strophe 2
sid burn
 2008-05-07 13:21
#109341 #109341
User since
2006-03-29
1520 Artikel
BenutzerIn

user image
Code: (dl )
1
2
3
ok 1 - Returncode ist wie erwartet 1.
ok 2 - output is what I wanted
ok 3 - warning is right

Also nebenbei angemerkt. Deine Kommentare sind total nutzlos.

1) Also das der returncode wie erwartet ist das sehe ich ja am "ok" ist er es nicht dann üwrde ja "not ok" da stehen.
2) Das der Ouptput der ist den du wolltest sehe ich hier ebenfalls am "ok" ist er das nicht würde hier ja "not ok" stehen.
3) Ja das das warning richtig ist, sehe ich hier auch am "ok", sonst würde da ja wieder "not ok" stehen.

Schreibe stattdessen hin was du testet. Und darin sollte nicht stehen das es okay ist. Das kommentar wird ja immer ausgegeben. Was fängst du den mit folgender zeile an?
"no ok 3 - warning is right" ???

Stattdessen solltest du es so schreiben:
"ok 1 - subroutine() mit parameter x,y,z sollte wahr sein."
"ok 2 - teste rückgabe von methode()"
"ok 3 - function() sollte ein warning ausgeben."
Nicht mehr aktiv. Bei Kontakt: ICQ: 404181669 E-Mail: perl@david-raab.de
roli
 2008-05-07 16:10
#109370 #109370
User since
2004-12-31
424 Artikel
BenutzerIn
[default_avatar]
Hi,
sid burn+2008-05-07 11:21:24--
Also nebenbei angemerkt. Deine Kommentare sind total nutzlos.

das diese Kommentare fuer jeden ungleich mir einen Informationsgehalt von nahezu 0 haben will ich nichtmal bestreiten. Das das so auch noch nicht das Ende der Fahnenstange ist, steht für mich auch mal fest, sprich ich werde das alles noch "verbessern".
Allerdings könnte ich genauso feststellen, das deine Antwort bezogen auf meine Frage "total nutzlos" ist. Du sagst werder es geht (wenn ja wie?), noch das es nicht geht. Ist also auch nicht gerade eine Hilfe, oder?
Roland
--
"Steh vorn, während du fragst;
sitzen soll, wer antwortet."
Aus "Die Edda des Snorri Sturluson" "Gylfis Täuschung" Strophe 2
renee
 2008-05-07 16:30
#109382 #109382
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
@roli: Welche Version von Test::Harness hast Du eigentlich installiert?
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
<< |< 1 2 >| >> 11 Einträge, 2 Seiten



View all threads created 2008-05-06 19:56.