Vielleicht sowas wie
Test::Warnings?
Beispiel: Das Folgende, nennen wir es
Experiment.pm, wirft eine Warnung "class is experimental".
use 5.038;
use feature 'class';
class C {
}
1;
Der folgende Test
warnings.t fängt das:
use Test::Warnings;
use Experiment;
done_testing;
Ergibt:
class is experimental at /tmp/Experiment.pm line 4.
not ok 1 - no (unexpected) warnings (via done_testing)
# Failed test 'no (unexpected) warnings (via done_testing)'
# at /tmp/warnings.t line 8.
Die Magie liegt hier in
done_testing, das einen Testfall mehr generiert. In Tests mit Zählung der Tests passiert die Magie im
END-Block, der Testfall muss dann mitgezählt werden. Da gibt es auch ein Beispiel in der Dokumentation.