Zac*_*ach 5 reactjs jestjs react-testing-library
我目前正在使用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);
});
Run Code Online (Sandbox Code Playgroud)
这是运行此测试时在终端上获得的东西:
expect(jest.fn()).toHaveBeenCalledTimes(1)
Expected mock function to have been called one time, but it was called zero times.
Run Code Online (Sandbox Code Playgroud)
我在其他测试中使用了fireEvent.click()函数,但没有任何问题,但是fireEvent.change()似乎对我不起作用。
事实证明,我的<InputText/>组件接受了一个onChangeFunc道具,而我试图给它一个常规onChange道具。一旦我意识到这一点并给它正确的道具,它就解决了问题。
| 归档时间: |
|
| 查看次数: |
2075 次 |
| 最近记录: |