描述:
我正在尝试测试当用户按“Enter”键时表单是否提交。我对按下 Submit
按钮时进行了通过测试,但我还想确保使用键盘提交表单(方便且方便)。
代码:
test("should submit when pressing enter", () => {
const handleSubmit = jest.fn();
const { getByLabelText } = render(<App handleSubmit={handleSubmit} />);
const input = getByLabelText("Name:");
fireEvent.change(input, { target: { value: "abc" } });
fireEvent.keyPress(input, { key: "Enter", code: 13, charCode: 13 });
expect(handleSubmit).toHaveBeenCalled();
});
这是一个CodeSandbox所需的代码量最少。
最佳答案
不太清楚交互的来源是什么,但是可以在 input
上调用 submit
并且它似乎修复了沙箱:
fireEvent.submit(input);
关于reactjs - 在react-testing-library中按回车键提交表单不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59362804/