Карма и Реакт, имеют предупреждения, которые вызывают ошибки
Я использую Karma с mocha для проверки моего React. У меня есть некоторые предупреждения, когда PropTypes не совпадают. Однако было бы действительно интересно, чтобы эти предупреждения вызывали фактическую ошибку, чтобы отслеживать тест и исправлять его.
Вы знаете, как это может быть достигнуто?
Ответы
Ответ 1
Вы можете заменить метод console.warn
своим и бросить, когда предоставленное сообщение соответствует определенному шаблону.
let warn = console.warn;
console.warn = function(warning) {
if (/(Invalid prop|Failed propType)/.test(warning)) {
throw new Error(warning);
}
warn.apply(console, arguments);
};
Ответ 2
Небольшие улучшения в принятом ответе: console.error
вместо console.warn
, как указано spain-train, добавил регулярное выражение 'Failed prop type', как только работает с React 15.3.1 и делает код более строгим, дружелюбным eslint.
const error = console.error;
console.error = function(warning, ...args) {
if (/(Invalid prop|Failed prop type)/.test(warning)) {
throw new Error(warning);
}
error.apply(console, [warning, ...args]);
};