我是单元测试的新手。我想测试React项目。当我开始使用React文档时,它将酶称为测试实用程序,这对我来说是模糊的。
Jest
和enzyme
之间的区别是什么?
enzyme
断言库还是任务转轮?karma
用于Jasmine
吗?react-redux
项目的最佳方法是什么?答案 0 :(得分:7)
Jest 是一个框架,它具有任务运行器,断言库和良好的模拟支持,这意味着它可以执行不同的单元测试用例,将其结果写入控制台或日志文件,可以创建模拟或简而言之,它将执行测试。
另一方面,Enzyme 是一个包装React TestUtils,JSDOM和CheerIO等软件包的库,可以创建一个更简单的接口来编写单元测试。 React TestUtils具有将反应组件呈现到文档中并模拟事件的方法。 JSDOM是DOM(Document对象模型)的JavaScript实现。 DOM表示UI组件的树结构。 CheerIO实现了jQuery核心的一个子集,用于查询DOM。
因此,酶不是测试运行器它没有自己的断言库,因此它只是为单元测试提供了一系列API。这就是为什么它可以与jest或任何其他任务运行器集成。
是的,你可以使用茉莉花的业力。
答案 1 :(得分:3)
Aaron的评论回答了你的第一个问题。
Enzyme为React组件提供单元测试实用程序功能,例如允许浅层渲染。酶文档说你可以将它用于任何测试运行器或断言库 - 参见http://airbnb.io/enzyme/。
是的,你可以使用茉莉花的业力。
就测试react-redux项目的最佳方式而言,这是一个单独的问题,我建议你搜索Stack Overflow。 :)