【发布时间】:2019-12-27 20:56:21
【问题描述】:
我正在为一小段代码编写测试用例。我有一个 Tab 组件,它有一个 onClick 事件。我正在通过 onClick 函数传递一个参数,但不知何故测试失败了。
{_.map(TABS_LIST, (item, index) => (
<Tab
key={_.uniqueId()}
panelId={`tab-${index}`}
id={`tab-${index}`}
onClick={() => this.handleTabClick(index)}
selected={this.state.selectedTabIndex === index}
>
{item}
</Tab>
))}
handleTabClick(e) {
this.setState({
selectedTabIndex: e
});
}
handleTabClick 已经在构造函数中绑定到 this。
这是测试用例。
it('should onClick Tab', () => {
wrapper.find('#tab-0').simulate('click', 0);
expect(wrapper.instance().handleTabClick(0)).toHaveBeenCalledWith(0)
});
错误:
错误:expect(received).toHaveBeenCalledWith(...expected)
匹配器错误:接收到的值必须是模拟或间谍函数
收到的值:未定义
请指教。
【问题讨论】:
标签: reactjs unit-testing jestjs