Как получить покрытие кода скрипта Perl CGI при выполнении Selenium?

Я использую Eclipse EPIC IDE для написания некоторых сценариев Perl CGI, которые вызывают некоторые модули Perl, которые я также написал. EPIC IDE позволяет мне конфигурировать Perl CGI для запуска конфигурации, которая запускает мой CGI-скрипт. А затем я настроил Selenium, и один из моих файлов модульного теста запускает несколько команд Selenium, чтобы выполнить мой сценарий cgi через все его шаги. Но отчет о покрытии из диспетчера Module::Build 'testcover' не показывает, что какой-либо код моего модуля был выполнен. Он был выполнен моим сценарием cgi, но я предполагаю, что сценарий CGI был запущен вручную и не был выполнен непосредственно моим файлом модульного теста, поэтому, возможно, именно поэтому покрытие не распознается. Есть ли способ сделать это правильно, чтобы я мог как-то интегрировать файлы Selenium и модульного тестирования и покрытие кода вместе?

1 ответ

Решение

Я не знаком с Selenium или EPIC, но один из обходных путей (если / пока кто-то не придет с более нативным решением) - просто включить "-MDevel::Cover" в командную строку конфигурации запуска.

Что еще хуже, добавьте некоторую условную логику в блок BEGIN{}, которая - на основе некоторой переменной окружения селена - условно делает use Devel::Cover

ОБНОВЛЕНИЕ:

Должна быть возможность подавить вывод из Devel:: Cover, используя -MDevel::Cover=-silent,1

$ perl5.8 -MDevel::Cover -e '{1;}'
Devel::Cover 0.64: Collecting coverage data for branch, blah
Selecting packages matching:
Ignoring packages matching:
blah, blah, blah
---------------------------- ------ ------ ------ ------ ------ ------ ------
File                           stmt   bran   cond    sub    pod   time  total
---------------------------- ------ ------ ------ ------ ------ ------ ------
Total                           n/a    n/a    n/a    n/a    n/a    n/a    n/a
---------------------------- ------ ------ ------ ------ ------ ------ ------


$ perl5.8 -MDevel::Cover=-silent,1 -e '{1;}'

$
Другие вопросы по тегам