我正在使用react-testing-library,看看我们是否应该在我们的项目中使用它。我们使用 jasmine
而不是 jest
。我想知道 react-testing-library
是否可以轻松地与 jasmine
一起使用(应该没问题......)
我看到的大多数示例都是使用jest
。将 react-testing-library
与 jasmine
一起使用时有什么注意事项吗?有一些例子吗?
谢谢
最佳答案
将 react-testing-library
与 Jasmine 或其他替代方案一起使用的问题是,react-testing-library
呈现的组件与它们在浏览器中的行为非常接近。与 Enzyme 不同,react-testing-library
不提供隔离和细粒度测试的功能,例如浅层渲染和访问组件内部(如 props)。
预计所有不应该按原样呈现的组件都应该被模拟(这里是 Jest example ),react-testing-library
不提供任何功能,一种方式他们是否被 mock 是由开发人员自行决定的。 Jasmine 不提供模拟模块的方法,需要使用第三方解决方案,例如 rewire
。 Jest 提供了模块模拟功能,包括与 import
一起使用时将 babel-jest
转换为提升模块模拟。
react-testing-library
使用 DOM。如果测试在 Node 中运行,则预计应使用 JSDOM。 Jest 原生设置 JSDOM,而开发人员需要使用 Jasmine 手动设置。最好在 Node 中而不是在浏览器中运行测试,因为这样可以根据 Node require
的工作方式动态模拟模块。
关于reactjs - 使用 react 测试库和 Jasmine,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54670152/