Почему это не определено при событии mocking в модульном тестировании React, использующем sinon.spy для mock-функции и рендеринга энзимов.shallow для React Component? - PullRequest
0 голосов
/ 14 ноября 2018

Всякий раз, когда я пытаюсь смоделировать событие, когда я передаю объект event, я получаю, что this равно undefined.

const onBlur = sinon.spy(Input.prototype.handleBlur);
const wrapper = shallow(<Input handleBlur={onBlur} />);
//...
wrapper.find('input').simulate('blur', { target: {value: ''} });

Внутри метода handleBlur, this не определено. Однако, если я решу не насмехаться над объектом event, событие не определено.

Также я попытался использовать mount вместо этого: const wrapper = shallow(<Input handleBlur={onBlur} />); Но это то же самое. Однако я даже не смог добраться до этого момента, пока не обновил библиотеки npm.

1 Ответ

0 голосов
/ 14 ноября 2018

попробуйте использовать

const onBlur = sinon.spy(Input.prototype, "handleBlur");

вместо

const onBlur = sinon.spy(Input.prototype.handleBlur);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...