使用反应测试库在反应最终形式上模拟onSubmit

时间:2020-01-22 23:00:42

标签: reactjs testing mocking react-testing-library react-final-form

我有一个使用react-final-formyupMaterial-ui构建的表单。我正在使用Jest@testing-library/react进行测试。

TL; DR:

  • 在绕过/利用onSubmit功能的同时,是否有一种方法只能模拟和测试validate功能?
  • 有更好的方法吗?

未调用模拟的onSubmit函数,因为我利用了RFF的{​​{1}}函数。 validate函数似乎在提交过程中挂起。除了模拟validate函数之外,在构建验证函数时是否还有最佳实践,以便测试能够识别出模拟的validate已被调用?

当我尝试测试表单是否已提交时,它似乎挂在validate方法上。

onSubmit

mocking function failure

模仿的onSubmit函数无法识别,并且似乎挂在fireEvent.submit(getByTestId('test-form')) // or fireEvent.click(getByTestId('submit-button')) 方法上。

validate

Edit flamboyant-tesla-qozho

1 个答案:

答案 0 :(得分:1)

我能够查明问题的根源。我在没有测试的情况下利用validate道具。我通过分别模拟/测试validate函数来解决此问题。非常感谢@ErikR的帮助??