gpt4 book ai didi

reactjs - fireEvent 未正确调用 react 测试库中的事件

转载 作者:行者123 更新时间:2023-12-03 13:37:39 29 4
gpt4 key购买 nike

我目前正在使用 Jest 测试输入& react-testing-library 。我正在尝试测试 onChange 函数是否在我的输入字段发生更改时触发。这是我的代码示例:

const placeHolder = 'first name';
const onChange = jest.fn();

test('<InputText/>', () => {

const {getByPlaceholderText} = render(
<InputText placeholder={placeHolder} onChange={onChange} />
);

const input = getByPlaceholderText(placeHolder);

fireEvent.change(input, {
target: {value: 'pls work'},
});

expect(onChange).toHaveBeenCalledTimes(1);
});

这是我运行此测试时在终端中得到的内容:

expect(jest.fn()).toHaveBeenCalledTimes(1)

Expected mock function to have been called one time, but it was called zero times.

我在其他测试中使用了 fireEvent.click() 函数,没有任何问题,但 fireEvent.change() 似乎对我不起作用。

最佳答案

原来我的<InputText/>组件接受 onChangeFunc Prop ,而我试图给它一个常规的 onChange支柱。一旦我意识到这一点并给它正确的 Prop ,它就解决了问题。

关于reactjs - fireEvent 未正确调用 react 测试库中的事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52280700/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com