将 userEvent 与 React 测试库和 react-select AsyncSelect 一起使用时出错(但仅在 CodeSandbox 中?)
Error using userEvent with React Testing Library and react-select AsyncSelect (but only in CodeSandbox?)
我创建了这个 CodeSandbox,这样我就可以演示相关代码的问题(onChange 未在测试中触发):
https://codesandbox.io/s/festive-tree-xkw8s?file=/src/App.test.js
但是在 CodeSandbox 中,我什至不能走那么远,因为一旦我调用
userEvent.type(securityField, 'abc{enter}')
我在控制台中设置了这个错误:
Error: Uncaught [TypeError: Failed to execute 'getComputedStyle' on 'Window': parameter 1 is not of type 'Element'.]
因此,AsynSelect
的 loadOptions 回调从未被触发(在本地我对此没有任何问题,只是没有触发的 onChange)。
我找不到关于此错误的任何示例或指南。我没有经常使用 CodeSandbox,所以可能我缺少一些基本的东西。
我在我的本地环境中没有看到这个错误,但我正在尝试解决它,因为我想完成我原来的问题设置。
您想在测试中使用 react-select-event 与您的 react-select 进行交互。这是专门为使用 react-testing-library 进行测试而制作的。
我创建了这个 CodeSandbox,这样我就可以演示相关代码的问题(onChange 未在测试中触发):
https://codesandbox.io/s/festive-tree-xkw8s?file=/src/App.test.js
但是在 CodeSandbox 中,我什至不能走那么远,因为一旦我调用
userEvent.type(securityField, 'abc{enter}')
我在控制台中设置了这个错误:
Error: Uncaught [TypeError: Failed to execute 'getComputedStyle' on 'Window': parameter 1 is not of type 'Element'.]
因此,AsynSelect
的 loadOptions 回调从未被触发(在本地我对此没有任何问题,只是没有触发的 onChange)。
我找不到关于此错误的任何示例或指南。我没有经常使用 CodeSandbox,所以可能我缺少一些基本的东西。
我在我的本地环境中没有看到这个错误,但我正在尝试解决它,因为我想完成我原来的问题设置。
您想在测试中使用 react-select-event 与您的 react-select 进行交互。这是专门为使用 react-testing-library 进行测试而制作的。