Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: Общие вопросы > Тест функции


Автор: JamesMorgan 20.8.2015, 20:50
Добрый вечер, товарищи подскажите начинающему тестеру, у меня есть код:
Код

sub news
{
 print "OK";
}

sub generate
{
 my ($page,$state) = @_;
 if ($page > 10) {
  news();
 }
return 0;
}

Мне нужно написать тест на функцию generate и протестировать вызов функции news, подскажите как это сделать? Выбрал модуль Test::More. Заранее спасибо большое )

Автор: arto 20.8.2015, 22:34
perldoc Test::More не помог?

Автор: JamesMorgan 20.8.2015, 22:56
Я честно в нем ничего не понял, сижу и смотрю в perldoc и пытаюсь понять что мне применить. 

Автор: arto 21.8.2015, 07:53
use strict;
use Test::More tests => 2;

close STDOUT; open STDOUT, ">", \$a;
generate 0;
ok($a eq ""; "generate 0");
generate 20;
ok($a eq "OK", "generate 20");

exit;


примерно так. возможно надо будет перемотать $a взад между выводом в неё.

Автор: tzirechnoy 21.8.2015, 11:18
Шо, на собеседовании задание дали?

Автор: JamesMorgan 21.8.2015, 12:31
На собеседовании такие задачи дают? Нет, я сам работаю системным администратором, пишу на perl когда есть свободное время, общался с программистами, они все говорили про тестирование, я спросил и вот мне стало интересно что это за тесты, но как увидел, сначала подумал что ничего сложного ))

Arto спасибо буду разбираться.

Автор: arto 21.8.2015, 13:03
для правильного оформления пакетов/скриптов можно воспользоваться полезной утилитой h2xs,
которая сгенерит скелет.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)