我们一直在使用 Enzyme 来测试我们的 React 组件,但已经开始逐步迁移到 React 测试库。
当尝试toHaveValue
在 RTL 测试中使用匹配器时,它会失败,因为会调用具有相同名称的酶匹配器。有没有办法我可以“告诉”一个特定的测试文件来使用来自 jest-dom 的匹配器?
根据安装文档,我已将酶和 jest-dom 匹配器添加到我的存储库中。
我们一直在使用 Enzyme 来测试我们的 React 组件,但已经开始逐步迁移到 React 测试库。
当尝试toHaveValue
在 RTL 测试中使用匹配器时,它会失败,因为会调用具有相同名称的酶匹配器。有没有办法我可以“告诉”一个特定的测试文件来使用来自 jest-dom 的匹配器?
根据安装文档,我已将酶和 jest-dom 匹配器添加到我的存储库中。
断言由toHaveValue()
react-testing-library jest-dom
( https://github.com/testing-library/jest-dom#tohavevalue ) 提供。
您应该能够强制jest-dom
匹配器(断言)“之前”通过放置您之前加载的任何一个(例如酶)
import "@testing-library/jest-dom/extend-expect";
在测试的顶部。
另请参阅: https ://github.com/testing-library/react-testing-library/issues/379和 https://github.com/facebook/jest/issues/6243
类似的问题: https ://github.com/testing-library/jest-dom/issues/208