测试作为道具从父级传递到子级的异步功能

我有一个父组件,其中有一个handleClick作为道具传递给孩子。


// parent.js


_handleClick = async (buttonName, id) => {

    if(buttonName === 'yes'){

        ... some logic

    }else{

        ... some logic

    }

}


<Child 

  handleClick={(buttonName, id) => this._handleClick(buttonName, id)}

  />

所以现在我该如何调用_handleClick并运行测试用例。我该如何调用该方法。


我在下面尝试过,但是由于它的箭头功能而没有按预期工作,它需要两个参数。


//test.js


const wrapper = shallow(<parent />)

expect(wrapper.find('Child').length).toEqual(1)

wrapper.find('Child').prop('handleClick')


千万里不及你
浏览 141回答 2
2回答

至尊宝的传说

好吧,您可能需要使用mount方法而非浅表法渲染父组件。这将呈现子元素,否则将仅呈现一个占位符。然后,您可能想通过单击按钮或在子组件中触发事件的任何事件来触发实际的单击事件。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript