reactjs - 使用 react 测试库和 Jasmine

标签 reactjs unit-testing jasmine react-testing-library

我正在使用react-testing-library,看看我们是否应该在我们的项目中使用它。我们使用 jasmine 而不是 jest。我想知道 react-testing-library 是否可以轻松地与 jasmine 一起使用(应该没问题......)

我看到的大多数示例都是使用jest。将 react-testing-libraryjasmine 一起使用时有什么注意事项吗?有一些例子吗?

谢谢

最佳答案

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/

相关文章:

javascript - DOM 节点和 javascript 命名空间之间有什么关系?

python - "test oracle"为非正式输出比较时的回归测试

angularjs - 测试在 $compile 期间更改 HTML 节点元素的指令

javascript - 在开发过程中自动连续运行 Jasmine 测试

javascript - 如何在 ReactJS 中使用 lis 创建播放列表

javascript - 如何使用 Headless UI 折叠 sibling

css - 更改单选按钮的大小

java - RoboGuice android 注入(inject)模块在测试中不起作用

需要 Java JUnit 测试指南

angular - 如何使 ng 测试在警告时失败