【发布时间】:2021-12-31 15:50:38
【问题描述】:
所以我正在尝试测试表单输入。首先表单应该显示一个错误,然后在输入一个值后,用户单击一个按钮,错误应该被删除。
我想我明白为什么会发生这种情况,但我不知道如何测试此功能。
我有条件地呈现错误消息并更新状态,所以我知道这可能就是为什么它告诉我将我的测试包装在 act() 中。我还告诉模拟服务器发送一个错误状态,我想可能是因为我覆盖了初始处理程序,它只会响应我定义的错误状态。这也不行。
由于我是测试新手,因此我不确定如何测试。非常感谢任何帮助。
这里是测试函数:
it('clears validation error after username field is updated', async () => {
let validationError;
server.use(generateValidationError('username', 'Username cannot be null'));
setup();
await act(async () => {
userEvent.click(button);
validationError = await screen.findByText('Username cannot be null');
userEvent.type(usernameInput, 'username001');
userEvent.click(button);
expect(validationError).not.toBeInTheDocument();
});
});
【问题讨论】:
标签: javascript reactjs unit-testing jestjs