使用Jest模拟和Enzyme浅渲染,您将如何测试或模拟以下内容?:
onClick = () => {
const inputNode = this.node.querySelector('input');
inputNode.click();
};
我试过了:
it('calls button', () => {
const wrapper = shallow(
<Component />,
);
const wrapperInstance = wrapper.instance();
const inputNode = document.createElement('input');
inputNode.value = '';
const node = document.createElement('div').appendChild(inputNode);
wrapperInstance.node = node;
});
答案 0 :(得分:3)
以下是我将如何模拟节点。
it('calls button', () => {
const wrapper = shallow(
<Component />,
);
const wrapperInstance = wrapper.instance();
const input = {value: 'someValue'}
const node = {
querySelector: (v) => v === 'input' ? input : null
}
wrapperInstance.node = node;
});