Raku-Kurs / Fortgeschritten / Testen und Dokumentation 🆕 / Testen

Das Test-Modul

Lade die Testwerkzeuge mit use Test. Die grundlegendste Prüfung ist ok, die bestanden wird, wenn ihre Bedingung wahr ist. Jede Prüfung nimmt eine optionale Beschreibung entgegen:

use Test;

ok 1 == 1, 'one equals one';
ok 2 > 1,  'two is greater';

done-testing;

Die Ausführung gibt Folgendes im Standardtestformat namens TAP aus:

ok 1 - one equals one
ok 2 - two is greater
1..2

Jede bestandene Prüfung wird als ok mit ihrer Nummer und Beschreibung ausgegeben; eine fehlgeschlagene wäre not ok. Das abschließende 1..2 ist der Plan, der angibt, wie viele Tests ausgeführt wurden. Der Aufruf von done-testing am Ende gibt diesen Plan automatisch aus.

Wenn du einen bestimmten Wert erwartest, ist is klarer als ok, weil es bei einem Fehlschlag sowohl den erwarteten als auch den tatsächlichen Wert ausgibt:

use Test;

is 2 + 2, 4, 'addition works';

done-testing;

Dies gibt ok 1 - addition works aus. Um diese Berichterstattung in Aktion zu sehen, gib is eine falsche Erwartung:

use Test;

is 2 + 2, 5, 'addition works';

done-testing;

Jetzt schlägt die Prüfung fehl, und die Ausgabe erklärt genau, warum:

not ok 1 - addition works
# Failed test 'addition works'
# at test.raku line 3
# expected: '5'
#      got: '4'
1..1
# You failed 1 test of 1

Die Zeile not ok markiert den Fehlschlag, und die darunterliegenden Diagnosezeilen zeigen, was erwartet wurde im Vergleich zu dem, was tatsächlich herauskam — deshalb ist is hilfreicher als ein bloßes ok, wenn ein bestimmter Wert wichtig ist.

ok, is und done-testing reichen bereits aus, um eine nützliche Testdatei zu schreiben; das nächste Thema fügt die anderen Vergleichsarten hinzu.

Praxis

Lösen Sie 1 Quiz zum Inhalt dieses Themas.

Kursnavigation

Testen   |   Quiz — Testen


💪 Oder springen Sie direkt zu den Übungen dieses Abschnitts.