Я занимаюсь программированием OO Perl, и мне было интересно: что это лучший способ выполнить модульные тесты?
До сих пор я использовал модуль Test::Simple для тестирования, но он чувствует недостаточно для того, что я хочу.
Можете ли вы указать мне некоторые хорошие модули для этого?
Я добавлю свой голос, чтобы поднять Test::More
, прежде чем идти дальше в тестировании на Perl. сообщество тестирования Perl довольно хорошо объединено вокруг Test Anything Protocol, и вы захотите поиграть с Test::More
, чтобы понять, как это работает и как такие инструменты, как prove
и Test::Harness::Archive
может помочь автоматизировать и распространять тестирование.
Если вы хотите просто "прыгать вправо", я думаю, Test::Class
предоставляет средства xTest с TAP. Я не использовал его вообще (я сам Test::More
), но он очень высокий рейтинг.
Test:: More должен предложить вам больше ударов по вашим долларам, как только вы получите тест Test:: Simple.
Также вы можете сослаться на это предыдущее обсуждение по-настоящему, если хотите получить дополнительную информацию: how-can-i-implement-tdd-in-perl
Судя по вашим комментариям по поводу ответа melaos, я бы сказал Test::Class или Test::Unit - это то, что вы ищете.
Простой пример:
#!/usr/bin/perl -w
use strict;
use warnings 'all';
use Test::More plan => 4; # or use Test::More 'no_plan';
use_ok('My::Module', 'Loaded My::Module');
ok( my $obj = My::Module->new(), 'Can create instance of My::Module');
ok( $obj->value('hello'), 'Set value to hello' );
is( $obj->value => 'hello', 'value is still hello');
Test::Class вы можете увидеть в этом .