酶测试/反应 keyDown (shift) stopImmediatePropogation
enzyme test / react for keyDown (shift) for stopImmediatePropogation
我正在尝试在按下 KeyDown 事件 - Shift 时测试 stopImmediatePropogation()。
enter// wrapper.simulate('keypress', { key: 'Shift' });
wrapper.simulate('keydown', { keyCode: 16 });
const stopPropogation = jest.fn();
expect(stopPropogation).toHaveBeenCalledTimes(0);
wrapper.find('.className').simulate('keyDown', { key: 'Shift' });
// const event = new KeyboardEvent('keydown', { keyCode: 16 });
// // const dispatchStopProp = jest.fn();
// document.dispatchEvent(event);
// // expect(dispatchStopProp).toHaveBeenCalledTimes(1);
// const result = wrapper.dive().instance().stopPropogation();
// expect(result).toEqual(1);
// const onKeyDown = sinon.spy();
// const wrapper = mount(<TestComponent onkeydown={onkeydown}/>);
// const input = wrapper.find('input');
// input.simulate('keyDown', { keyCode: 16 });
// expect(onKeyDown.called).to.be.true; code here
None 我的方法似乎行得通。任何建议都会有所帮助。
单元测试的动机:
在应用程序页面上单击键盘 "shift" 键时调用 stopPropogation()。
如果您试图跟踪您的 stopPropagation,您不能只声明一个具有相同名称的 jest.fn 并跟踪它。
需要窥探功能,我喜欢用SinonJS
示例:
var spy = sinon.spy(MyComponent.prototype, 'stopPropagation');
// Do something that invokes MyComponent.stopPropagation
expect(spy.calledOnce).to.be.true;
我正在尝试在按下 KeyDown 事件 - Shift 时测试 stopImmediatePropogation()。
enter// wrapper.simulate('keypress', { key: 'Shift' });
wrapper.simulate('keydown', { keyCode: 16 });
const stopPropogation = jest.fn();
expect(stopPropogation).toHaveBeenCalledTimes(0);
wrapper.find('.className').simulate('keyDown', { key: 'Shift' });
// const event = new KeyboardEvent('keydown', { keyCode: 16 });
// // const dispatchStopProp = jest.fn();
// document.dispatchEvent(event);
// // expect(dispatchStopProp).toHaveBeenCalledTimes(1);
// const result = wrapper.dive().instance().stopPropogation();
// expect(result).toEqual(1);
// const onKeyDown = sinon.spy();
// const wrapper = mount(<TestComponent onkeydown={onkeydown}/>);
// const input = wrapper.find('input');
// input.simulate('keyDown', { keyCode: 16 });
// expect(onKeyDown.called).to.be.true; code here
None 我的方法似乎行得通。任何建议都会有所帮助。
单元测试的动机:
在应用程序页面上单击键盘 "shift" 键时调用 stopPropogation()。
如果您试图跟踪您的 stopPropagation,您不能只声明一个具有相同名称的 jest.fn 并跟踪它。
需要窥探功能,我喜欢用SinonJS
示例:
var spy = sinon.spy(MyComponent.prototype, 'stopPropagation');
// Do something that invokes MyComponent.stopPropagation
expect(spy.calledOnce).to.be.true;