Тестовое покрытие шаблона Mojolicious

При написании Galileo я добавил в шаблон (.html.ep) немного логики, ничего особенного, но немного. С этой целью мне интересно, могу ли я включить эти файлы в анализ покрытия тестами.

Я пробовал некоторые вещи, наиболее многообещающим было

HARNESS_PERL_SWITCHES='-MDevel::Cover=+select,\.ep$' prove -l t && cover

но эти файлы по-прежнему не включаются. Возможно, это невозможно, но, может быть, у кого-то есть какие-то идеи.


person Joel Berger    schedule 04.08.2012    source источник
comment
Я думаю, что это невозможно. Потому что шаблоны не выполняются напрямую, а компилируются в памяти.   -  person Denis Ibaev    schedule 07.08.2012
comment
Я думаю, что вы, вероятно, правы. Поработав над этим некоторое время, я повозился с тем, чтобы посмотреть, смогу ли я получить доступ к скомпилированным шаблонам, и потерял пар. Тем не менее я оставлю этот вопрос открытым ... кто знает.   -  person Joel Berger    schedule 07.08.2012


Ответы (1)


Devel::Cover использует информацию о файлах и строках, которую использует сам Perl, поэтому для охвата шаблонов процесс компиляции шаблонов должен правильно установить информацию о файлах и строках. Я быстро просмотрел источник Mojo и не увидел, что это происходит, но, возможно, я искал не в том месте.

Я мало что знаю о Mojolicious, но я видел, что синтаксические ошибки в шаблонах .ep отображаются правильно, что является хорошим признаком. Если эта информация исходит из обычных отчетов об ошибках perl, то Devel::Cover также должен предоставить информацию о покрытии, но мне тоже не удалось ее получить.

Если вы хотите открыть тикет в github, мне напомнят изучить его подробнее, когда у меня будет время.

person pjcj    schedule 09.08.2012