Perl -d и проблема с модулино

У меня есть несколько сценариев, которые я начал модульное тестирование, используя идею "модулино" . Я столкнулся с проблемой в том, что когда сценарий вызывается с помощью «perl -d», сценарий не запускается, так как caller () возвращает истинное значение.

У меня основная часть скрипта заключена в main (), а некоторые подпрограммы медленно вытягиваются из main () в свои собственные подпрограммы.

В верхней части скрипта у меня есть:

main(@ARGS) unless caller();

Когда вызывается в .t tests, он работает так, как я хочу, без запуска main (), поэтому я могу протестировать подпрограммы. Когда я вызываю сценарий из CLI, он отлично работает с вызовом main ().

Проблема возникает, когда я вызываю его из интерфейса командной строки с помощью:

perl -d myscript.pl

На этом этапе вызывающий объект возвращает допустимое значение (а не undef), а main не вызывается.

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

8
задан Kara 18 March 2014 в 19:03
поделиться