Сделайте определенный тест молчать в Jest
Есть ли способ сделать определенный тест молчать (показывать вывод консоли только в случае неудачи) в Jest? Похоже jest --silent
делает все тесты тихими, что нежелательно. Мне нужно смоделировать ошибку и убедиться, что она правильно обработана, но, к сожалению, есть сторонний код, который вызывает console.error в этом случае. Но я не хочу полностью отключать console.error, так как мне нужно видеть детали, если это не удается.
0 ответов
Я не знаю, можно ли отключить тестовый пример напрямую, но вы всегда можете использовать другойtestRegex
с другой конфигурацией jest для ваших тестовых файлов.
Например, вы можете принять следующее соглашение об именах для ваших тестовых файлов:
myfile.{js,jsx,ts,tsx}
: Jest не должен подавлять вывод (console.log, ошибки и т. Д.)myfile.silent.{js,jsx,ts,tsx}
: Jest должен подавлять вывод
и в вашем package.json
, определите свои тестовые сценарии следующим образом:
"test": "yarn test:default && yarn test:silent",
"test:silent": "jest __tests__\\/.*\\(silent\\)\\.\\(jsx?\\|tsx?\\)$ --silent",
"test:default": "jest __tests__\\/\\(?!.*silent\\).*\\.\\(jsx?\\|tsx?\\)$",
Нелегко читать регулярные выражения в package.json
, поэтому я сделал это: