首页 > 解决方案 > 在从 Jest 模拟方法触发之前如何创建模拟 DOM?

问题描述

模拟getData()方法点击Test,模拟后结果如下,

TypeError:无法读取 null 的属性“值”

  68 |     // 
  69 |     getData(){
> 70 |         const elementName = (document.getElementById("sample-element") ;


// Test Case follows.. 
it('Check for getData', () => {
    getData = sinon.spy(wrapper.instance(), 'getData');
    wrapper.update();
    wrapper.find('#getData').simulate('click');
    expect(getData.called).toBe(true);
    getData.restore();  
});

getData(){
    const elementName = (document.getElementById("sample-element");
    fetch(config.getRowDataAPI+elementName)
        .then(response => response.json())
        .then(allRowData => this.setState({ allRowData },
            () => {
                this.setTable(this.state.allRowData);
            }
        )); 
}

标签: javascriptreactjsjestjsenzyme

解决方案


推荐阅读