Voici une astuce intéressante: utiliser des modules de test merveilleux et bien-aimé de Perl pour le débogage. Non seulement cela vous donnera une longueur d'avance sur les tests, mais parfois, ils rendront votre sortie de débogage beaucoup plus rapide. Par exemple:
#!/usr/bin/perl
use strict;
use warnings;
use Test::More 0.88;
BEGIN { use_ok 'MIME::Base64' => qw(encode_base64) }
is(encode_base64("test", "dGVzdA==", q{"test" encodes okay});
done_testing;
Exécuter ce script, avec perl
ou avec prove
, et il ne sera pas seulement vous dire que cela ne correspondait pas, il dira:
# Failed test '"test" encodes okay'
# at testbase64.pl line 6.
# got: 'gGVzdA==
# '
# expected: 'dGVzdA=='
et l'œil vif les lecteurs remarqueront que la différence entre les deux est en effet la nouvelle ligne. :)
Si vous essayez de déboguer ceci, vous devez sortir la valeur de 'encoder_base64 (" test ")' plutôt que de le vérifier aveuglément pour l'égalité avec une autre chaîne. – jtbandes
Vous voudrez peut-être vérifier http://stackoverflow.com/questions/49652/are-there-any-good-automated-test-suites-for-perl plutôt que de vérifier manuellement vos tests. – TrueWill