Devel :: Cover с опциями для тестового покрытия

В проекте я работаю над макетом каталога, в котором нет каталога lib, поэтому у нас есть

/X.pm
/X/Y.pm
...
/t/test.t

когда я бегу

$ PERL5OPT=-MDevel::Cover make test
$ cover

Я получаю отчет только по файлам в т /

как я могу указать Devel :: Cover сообщать обо всех файлах в текущем каталоге, кроме файлов в t?

Я думал, что смогу это сделать вот так:

cover -t +inc . -inc t

но я получаю:

Unknown option: inc
Invalid command line options at /home/gabor/perl5/lib/perl5/x86_64-linux-thread-multi/Devel/Cover/Report/Html_minimal.pm line 677.

из документации мне неясно, как я могу предоставить эти опции.


person szabgab    schedule 03.01.2011    source источник
comment
Я думаю, вы должны приводить аргументы в строке -MDevel::Cover, как в -MDevel::Cover=-dir,.. Более того, я действительно не думаю, что inc аргументы делают то, что вы хотите: они указывают файлы, которые нужно игнорировать, например модули в @INC. Я не тестировал это, у меня нет D :: C на этой машине.   -  person Philip Potter    schedule 03.01.2011
comment
Вопрос был перенесен на nntp.perl.org/group/ perl.qa/2011/01/msg12662.html и уже ответил там.   -  person daxim    schedule 03.01.2011


Ответы (1)


cover фактически не генерирует статистику покрытия, а только сообщает об этом IIRC.

Кроме того, +inc, похоже, должен быть частью PERL5OPT (через запятую, чтобы -M передать их в import(), например -MDevel::Cover=+inc,"/sometething")

Я могу ошибаться - я использую Devel :: Cover только при запуске файлов .t, поэтому никогда не пытался использовать подход «все модули в каталоге».

person DVK    schedule 03.01.2011