Enzyme

Enzyme主要包括三个测试:

① shallow:是官方测试工具库 react-addons-test-utils 中 shallow rendering 的封装。是将一个组件渲染成虚拟DOM对象的“浅渲染”。这种渲染不会涉及子组件,不需要DOM,生成的是虚拟DOM,所以渲染最快,然而它并不能测试子组件的相关代码。

② mount:用于将React组件加载为真实DOM节点,它会生成完整的DOM节点,所以可以测试子组件。但是要依赖一个用jsdom模拟的浏览器环境。

③ render:会根据react组件得到一个静态HTML文本结果,借助一个第三方的HTML解析库Cheerio去生成一个类似于mount和shallow得到的封装对象。它会将react组件渲染为html文本,然后在内部通过Cheerio自动生成一个Cheerio对象。

shallow是最快,但是shallow有局限性,render的效率是mount的两倍。shallow和mount因为都是dom对象的缘故,所以都是可以模拟交互的,而render是不能的。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容