Нет console.log для STDOUT при запуске "теста npm" (шутка) - PullRequest
0 голосов
/ 15 января 2019

Из того, что я знаю console.log() должно работать без проблем печати на STDOUT моей консоли, при запуске сценария.

Но в моем случае у меня настроен NPM для запуска Jest при выдаче npm test из оболочки, и любые console.log() внутри тестовых файлов ничего не выводят на экран. Я также пытался использовать process.stdout.write(), но при запуске npm test.

пользовательский вывод не выводился.

Как мне отладить материал в моих тестовых сценариях? Я не могу понять, проблема ли это в Node, NPM или Jest. Существует Jest проблема , которая похожа на мою, но все же я не могу решить и вывести простую строку; в то время как остальная часть Jest выводится как обычно.

Кто-нибудь сталкивался с подобной проблемой?

РЕДАКТИРОВАТЬ 1: Я попытался запустить npm test -- --runInBand, но журнал не появляется.

Примечание: пытаясь запустить команду несколько раз, иногда я вижу журнал , но затем он перезаписывается / скрывается остальной частью следующего вывода Jest.

Ответы [ 2 ]

0 голосов
/ 23 января 2019

Это не чисто, но мне повезло с этим, надеюсь, это поможет вам, пока не будет опубликовано исправление: зарегистрируйте несколько дополнительных newline с после перезаписи журнала:

console.log('I want to be seen!');
console.log('\n\n\n\n');
0 голосов
/ 15 января 2019

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

В alpha release есть запрос на получение , который решит эту проблему. Похоже, что последняя доработка выполняется в последние несколько часов (см. Ссылку на выпуск Github).

Однако я нашел решение, которое работает для моего простейшего случая:

  • просто запустите npm test -- --verbose=true и журнал волшебным образом появится!

Это не будет исправлено в каждом случае; возможно, у async / multi-thread / etc все еще будут проблемы (пожалуйста, сообщите о своем опыте, чтобы я мог обновить ответ); например, добавив process.exit(1) после того, как журнал снова скроет его.

Попытка нажать ctrl + c до запуска process.exit() (с правильным временем ...) покажет, что журнал действительно существует и переопределяется.

Я обновлю ответ новостями, но, вероятно, это поможет другим начать с настроек Node / NPM / Jest!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...