Вопрос

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

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

Это было полезно?

Решение

Тот Самый официальный раздел:: Учебное пособие по Zilla теперь имеет страница, посвященная написанию и тестированию новых плагинов.Это относится к плагинам в целом, а не к плагинам для чеканки, но нет ничего особенного или отличного в том, чтобы делать это для плагинов для чеканки.Вы можете видеть t/minter., как и предполагалось, чтобы увидеть, насколько это похоже.

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

Другие советы

Вот очень базовый тестовый файл для минжи.

#!/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 :: Zilla :: Тестер Тест, чтобы вы могли бы почитать блог, который я написал на Написание простого DIST :: ZILA :: Тестовый тест.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top