Используя приложение create-response-app, при запуске тестов в моем конвейере CI, если пороги покрытия кода не соблюдены, я ожидаю, что консоль вернет ненулевой ответ.
package.json
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"test:coverage": "npm run test -- --coverage --watchAll=false",
},
"jest": {
"collectCoverageFrom": [
"src/components/**/*.js",
"src/state/**/*.js",
"src/templates/**/*.js",
"src/routes/**/*.js"
],
"coverageThreshold": {
"global": {
"branches": 80,
"functions": 80,
"lines": 80,
"statements": 80
}
}
}
При запуске test:coverage
консоль сообщает, что пороговые значения не были достигнуты, но по-прежнему возвращает 0. Насколько я понимаю из документации Jest, при несоблюдении пороговых значений покрытия должна возвращаться ошибка.
https://jestjs.io/docs/en/configuration#coveragethreshold-object
Конкретно ...
If thresholds aren't met, jest will fail.
Кто-нибудь знаком с этой проблемой? Я сталкивался с проблемами GitHub с Jest и CRA со смешанными результатами, и большинство находок связано с устаревшими версиями.
1 ответ
Чтобы остановить дальнейшее выполнение при сбое команды:
command || exit 0
{
"test:coverage": "npm run test -- --coverage --watchAll=false || exit 0"
}
Ref: не сбой сборки jenkins при сбое выполнения оболочки
Похожие вопросы
Связанные вопросы
Новые вопросы
jestjs
Jest - это среда модульного тестирования JavaScript, созданная Facebook на основе Jasmine, которая обеспечивает автоматическое создание макетов и среду jsdom. Он часто используется для тестирования компонентов React.