Про CPAN и тесты

| Нет комментариев

В очередной раз подумалось, что код из блока SYNOPSIS POD-документации модулей на спане нужно автоматически включать в набор тестов.

Вот модуль Time::Business, судя по описанию, полезный: умеет переводить рабочие часы в «общечеловеческие». CPAN сообщает о десятках успешных тестов на разных платформах. Но в действительности к модулю прилагается только тест use_ok (это не самое страшное), а код из краткого описания не работает:

use v5.12;
use Time::Business;

my $bt = new Time::Business ({
    WORKDAYS => [1..5],
    STARTTIME => 1000,
    ENDTIME => 1900,
});
my $seconds = $bt->calctime(time, time + 1 * 86400);

perl test.pl
Can't locate object method "calctime" via package "Time::Business" at test.pl line 9.

Понятно, что дальнейшее чтение документации помогает добиться работоспособности, но внутренний голос сразу начинает говорить о том, что как-то и все остальное некрасиво: и странный формат записи времени (а что, если записать 0800 — не в восьмеричном ли формате это получится?), и капслок в именах ключей, и отсутствие предопределенных значений — собственно, все то, что замечаешь при первом взгляде, но что лишь усиливает негатив после того, как первый тест не заработал.

Комментировать

Страницы

  • img

Об этой записи

Сообщение опубликовано 05.07.2010 23:49. Автор — ash.

Предыдущая запись — «Что такое хакатон?»

Следующая запись — Отсортировать хеш

Смотрите новые записи на главной странице или загляните в архив, где есть ссылки на все сообщения.