1.mock函数
使用mock函数可以轻松的模拟代码之间的依赖
- jest.fn():返回一个mock函数,这个函数有一个特殊的 .mock 属性,该属性保存了每一次调用情况
- jest.mock():用来mock一些模块或者文件,如我们要是测试一个函数,又不想关心该函数内部的实现,用jest.mock()模拟外部依赖的文件或者已经测试完的内部文件
- jest.spyOn():返回一个mock function,和jest.fn相似,具体还在理解中
2. 快照测试
判断代码是否有改动
.toMatchSnapshot()
3.Enzyme
React测试工具库,它功能对官方的测试工具库ReactTestUtils的二次封装
import Enzyme from 'enzyme';
import Adapter from 'enzyme-adapter-react-16';
Enzyme.configure({ adapter: new Adapter() });
- shallow:浅渲染,是对官方的Shallow Renderer的封装。将组件渲染成虚拟DOM对象,只会渲染第一层,子组件将不会被渲染出来,使得效率非常高。不需要DOM环境, 并可以使用jQuery的方式访问组件的信息
- render:静态渲染,它将React组件渲染成静态的HTML字符串,然后使用Cheerio这个库解析这段字符串,并返回一个Cheerio的实例对象,可以用来分析组件的html结构
- mount:完全渲染,它将组件渲染加载成一个真实的DOM节点,用来测试DOM API的交互和组件的生命周期。