2017-05-16 20 views
0

用玩笑嘲諷和酶的淺渲染,你會如何測試或嘲笑以下?:如何測試和/或模擬ref回調節點和用Jest mocking測試.querySelector +酶淺?

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; 
}); 

回答

2

這裏是我會嘲笑的節點。

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; 
});