В качестве примера я использовал Заставить предупреждения React PropType выдавать ошибки с помощью фермента.js + sinon.js + mocha.js< /а>.
У меня есть компонент React с одной необходимой опорой:
class Pagination extends Component {
render() {
return (
... render some stuff
);
}
}
Pagination.propTypes = {
total: PropTypes.number.isRequired
};
И это тест для него:
describe('(Component) Pagination', () => {
before(() => {
sinon.stub(console, 'error', (warning) => { throw new Error(warning) })
})
after(() => { console.error.restore() })
it('render fails without props', () => {
shallow(<Pagination />);
});
it('render fails without props2', () => {
shallow(<Pagination />);
});
});
После запуска этих тестов первый вылетает, а второй нет. Тесты похожи. Я думаю, что проблема в том, что React выдает предупреждающие сообщения только один раз. Как этого избежать?
Я хочу иметь 2 теста: один будет падать, если реквизиты не установлены, а второй отлично работает с реквизитами.