2

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

我看到的大多数例子都是jest. 使用react-testing-librarywith有什么注意事项jasmine吗?有一些例子吗?

谢谢

4

1 回答 1

2

react-testing-library与 Jasmine 或其他替代方案一起使用的问题在于,它们react-testing-library呈现的组件与它们在浏览器中的行为方式非常接近。与 Enzyme 不同,react-testing-library它不提供用于隔离和细粒度测试的功能,例如浅渲染和访问组件内部组件(如 props)。

预计所有不应该按原样呈现的组件都应该被模拟(这里是 Jest示例),react-testing-library不为其提供任何功能,它们被模拟的方式由开发人员自行决定。Jasmine 不提供模拟模块的方法,需要使用第三方解决方案,例如rewire. Jest 提供了模块模拟的功能,包括babel-jest在与import.

react-testing-library使用 DOM。如果在 Node.js 中运行测试,则应使用 JSDOM。Jest 原生设置 JSDOM,而开发人员需要使用 Jasmine 手动设置它。最好在 Node 中而不是在浏览器中运行测试,因为这样可以根据 Node 的require工作方式动态模拟模块。

于 2019-02-13T12:45:45.207 回答