单元测试
- 单元
- 程序中执行某一特定任务的具有一定独立性的代码模块
- 单元测试
- 测试某一独立的代码模块的测试
做单元测试的时候,一定要分清楚被测试对象的职责是什么 如果方法1依赖了方法2
- 依赖形如
graph TD
Dependent-Module-依赖 & Input --> Function-单元 --> Output
Mock Function
- 设置返回值
const mockCallback = jest.fn();
mockCalback.mockReturnValue(true);
- 模拟函数实现
const mockCallback = jest.fn();
mockCalback.mockImplementation(()=>true);
- 验证函数被调用情况
//验证函数被调用了
expect(mockCallback).toHaveBeenCalled();
//验证函数被调用了多少次
expect(mockCallback).toHaveBeenCalledTimes(4);
//验证函数被调用时的参数是什么
expect(mockCallback).toHaveBeenCalledWith(2);
-
声明Mock Function
- 位置
- 在describe之上添加声明的方法
- 代码
jest.mock("./verify")声明后方可调用模块。自定义组件要写路径
- 位置
-
测试 Async/Await语法
test('...', asyn ()=> {
await expect((fetchData)).resolves.toBe('...');
})
test('...', asyn ()=> {
await expect((fetchData)).rejects.toThrow('error');
})