Написание теста для модуля чеканки Dist :: Zilla - PullRequest
2 голосов
/ 27 августа 2010

Пора написать функциональный тест для Dist :: Zilla :: Plugin :: Catalyst . Но я понял, что понятия не имею, с чего начать. Я знаю, что мне нужно иметь собственный профиль чеканки, распознаваемый моим набором тестов, и, вероятно, я собираюсь просто протестировать, чтобы убедиться, что все нужные файлы выводятся с подходящей разрешающей способностью. Я совсем не уверен, какой модуль DZ вы используете для включения профиля чеканки, или как затем запустить mint, а затем проверить вывод (потому что я подозреваю, что он будет использовать временный каталог).

Может ли кто-нибудь дать мне несколько советов? есть ли еще какие-нибудь минтинговые модули, у которых есть тесты?

Ответы [ 2 ]

2 голосов
/ 12 декабря 2010

Вот очень простой тестовый файл для майнера.

#!/usr/bin/perl
use strict;
use warnings;
use Dist::Zilla::Tester;
use Test::More;
use Path::Class;

my $tzil = Minter->_new_from_profile(
    # which profile to run e.g. dzil new  -p
    [ Default => 'default' ],
     # app name
    { name => 'CatApp', },
    # location of whats esessntially your tests ~/.dzil
    { global_config_root => dir('corpus/mint')->absolute },
);

# same as running dzil new
$tzil->mint_dist;

# mint root, obviously getting the location of the temporary repo creation
my $mr   = dir( $tzil->tempdir )->subdir('mint');

# test to see if CatApp.pm exists
ok( -e $mr->subdir('lib')->file('CatApp.pm'), 'CatApp.pm exists');
done_testing

Конечно, для многих реальных тестов вы также захотите прочитать отчеканенные файлы.Это можно сделать с помощью $tzil->slurp_file('file');.

. Для тестирования отчеканенного dist мало чем отличается от обычного теста Dist :: Zilla :: Tester , поэтому вы можете захотеть прочитать блог.Я написал на написание простого теста Dist :: Zilla :: Tester .

1 голос
/ 05 мая 2011

Официальное руководство *1001* теперь содержит страницу по написанию и тестированию новых плагинов .Это относится к плагинам в целом, а не к майтингу плагинов, но нет ничего особенного или особенного в том, чтобы делать это для майнинга плагинов.Вы можете увидеть t/minter., как было предложено, чтобы увидеть, насколько он похож.

Test::DZil теперь поставляется с Dist :: Zilla и устанавливается для использования другими плагинами, и я использую его для тестирования всехмои неосновные плагины.

...