У меня есть несколько сценариев, которые я начал модульное тестирование, используя идею "модулино" . Я столкнулся с проблемой в том, что когда сценарий вызывается с помощью «perl -d», сценарий не запускается, так как caller () возвращает истинное значение.
У меня основная часть скрипта заключена в main (), а некоторые подпрограммы медленно вытягиваются из main () в свои собственные подпрограммы.
В верхней части скрипта у меня есть:
main(@ARGS) unless caller();
Когда вызывается в .t tests, он работает так, как я хочу, без запуска main (), поэтому я могу протестировать подпрограммы. Когда я вызываю сценарий из CLI, он отлично работает с вызовом main ().
Проблема возникает, когда я вызываю его из интерфейса командной строки с помощью:
perl -d myscript.pl
На этом этапе вызывающий объект возвращает допустимое значение (а не undef), а main не вызывается.
Мы будем очень признательны за предложения о том, как подойти к этому вопросу.