Я пишу новый проект Perl 6 для работы и хотел бы иметь возможность проверить, все ли части могут быть use
d правильно. Для этого я использую подпрограмму use-ok
из модуля Test
. Я пытаюсь легко протестировать все файлы модуля, используя следующий код:
"META6.json".IO.slurp.&from-json<provides>
.grep(*.value.starts-with("lib")).Hash.keys
.map({ use-ok $_ })
Моя проблема здесь в том, что есть несколько файлов, которые содержат определение подпрограммы MAIN
. Из выходных данных, которые я вижу при запуске prove -e 'perl6 -Ilib' t
, похоже, что один из файлов выполняет свои MAIN
, а затем тестирование останавливается.
Я хочу проверить, могут ли эти файлы быть use
d правильно, без фактического запуска MAIN
подпрограмм, определенных в них. Как мне это сделать?
use-ok
выполняетEVAL ( "use $code" );
. stackoverflow.com/questions/40778852/ - person raiph   schedule 09.10.2018MAIN
, есть три файла, которые определяютMAIN
и экспортируют его. Во время тестирования, когда модуль, определяющийMAIN
, тестируется сuse-ok
, запускаетсяMAIN
и тестирование останавливается. Это моя проблема, я не хочу, чтобыMAIN
запускался, когда я используюuse-ok
. - person Tyil   schedule 11.10.2018