Esl*_*oon 21 javascript jasmine reactjs jestjs enzyme
我是单元测试的新手.我想测试React项目.当我开始使用React文档时,它将酶称为测试实用程序,这对我来说是一种模糊的.
Jest
和之间有什么区别enzyme
?
enzyme
断言库还是任务转轮?karma
用Jasmine
吗?react-redux
项目的最佳方法是什么?小智 12
Jest是一个具有任务运行程序,断言库和良好的模拟支持的框架,这意味着它可以执行不同的单元测试用例,将其结果写入控制台或日志文件,可以创建模拟或验证所有断言,即它将执行测试。
另一方面,酶是一个包装诸如React TestUtils,JSDOM和CheerIO之类的包的库,以创建用于编写单元测试的更简单的接口。React TestUtils具有将React组件呈现到文档中并模拟事件的方法。JSDOM是DOM(文档对象模型)的JavaScript实现。DOM表示UI组件的树结构。CheerIO实现了jQuery核心的一个子集,用于查询DOM。
因此,酶不是测试跑步者。它没有自己的断言库,因此它仅提供用于单元测试的API集合。这就是为什么它可以与Jest或任何其他任务运行器集成的原因。
是的,您可以将业力与茉莉花一起使用。
Enzyme和Jest都有不同的职责“Enzyme”不是一个测试运行程序,意思是当您输入命令时,npm test
或者npm run test
它是jest 的责任,它收集所有以结尾的文件.test.js
并运行每个测试用例,并在控制台中显示通过和失败的结果,如下所示
Enzyme为您提供了捕获 dom 元素并执行某些操作的功能,下面是它的一些功能
shallow, mount, find, children, etc...
Run Code Online (Sandbox Code Playgroud)
您还可以使用React测试库(另一个流行的测试库)来实现此类功能来访问dom元素
额外:开发人员经常混淆
这里Enzyme和react-testing-library是两个相似的东西并且彼此替代意味着您可以使用
其中 jest(testing-framework) 将收集所有 .test.js 文件,执行所有测试用例,并将输出放在控制台中,其中包含详细信息,例如通过和失败的数量,以及反应测试库或酶(两者都是测试库)将有所帮助你执行事件并访问 dom 元素
亚伦的评论回答了你的第一个问题。
Enzyme 为 React 组件提供单元测试实用函数,例如允许浅层渲染。Enzyme 文档说您可以将它与任何测试运行程序或断言库一起使用 - 请参阅http://airbnb.io/enzyme/。
是的,你可以用茉莉花使用业力。
至于测试react-redux项目的最佳方法,这是一个单独的问题,我建议你搜索Stack Overflow。:)
归档时间: |
|
查看次数: |
5229 次 |
最近记录: |