Отличная работа Андрес Зорро!
Небольшое примечание, так как я только что потратил некоторое время на отладку и исправление этого:
Если ваш тестируемый интерфейс командной строки зависит от чего-то из process.env
, использование метода createProcess
напрямую, как показано выше, нарушит ваш код.
Вы должны убедиться, что текущий process.env
также является частью среды в порожденном процессе:
... return spawn('node', args, { env: Object.assign( process.env, { NODE_ENV: 'test', }, env ) }); ...
С текущим process.env
, используемым в качестве базы, ваш CLI может получить доступ ко всем обычным данным env, которые он может ожидать.