Как я могу выполнить модульное тестирование в Perl?

Я занимаюсь программированием OO Perl, и мне было интересно: что это лучший способ выполнить модульные тесты?

До сих пор я использовал модуль Test::Simple для тестирования, но он чувствует недостаточно для того, что я хочу.

Можете ли вы указать мне некоторые хорошие модули для этого?

Ответ 1

Я добавлю свой голос, чтобы поднять Test::More, прежде чем идти дальше в тестировании на Perl. сообщество тестирования Perl довольно хорошо объединено вокруг Test Anything Protocol, и вы захотите поиграть с Test::More, чтобы понять, как это работает и как такие инструменты, как prove и Test::Harness::Archive может помочь автоматизировать и распространять тестирование.

Если вы хотите просто "прыгать вправо", я думаю, Test::Class предоставляет средства xTest с TAP. Я не использовал его вообще (я сам Test::More), но он очень высокий рейтинг.

Ответ 2

Test:: More должен предложить вам больше ударов по вашим долларам, как только вы получите тест Test:: Simple.

Также вы можете сослаться на это предыдущее обсуждение по-настоящему, если хотите получить дополнительную информацию: how-can-i-implement-tdd-in-perl

Ответ 3

Судя по вашим комментариям по поводу ответа melaos, я бы сказал Test::Class или Test::Unit - это то, что вы ищете.

Ответ 4

Простой пример:

#!/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');

Ответ 5

Test::Class вы можете увидеть в этом .