在 Jest 单元测试中,可以使用 jest.mock() 函数来模拟公共方法。

假设有一个名为 common.js 的公共模块,其中定义了一个名为 add() 的函数:

// common.js
export function add(a, b) {
  return a + b;
}

现在要编写一个测试用例来测试一个依赖于 add() 函数的模块,可以使用 jest.mock() 来模拟 common.js 模块中的 add() 函数:

// test.js
import { add } from './common';

jest.mock('./common', () => ({
  add: jest.fn(),
}));

describe('test', () => {
  it('should call add function', () => {
    add.mockReturnValue(5);
    // 调用被测试的模块,该模块依赖于 common.js 中的 add() 函数
    // 对 add() 函数的返回值进行断言
  });
});

在上面的示例中,jest.mock() 函数接收两个参数:第一个参数是要模拟的模块的路径,第二个参数是一个回调函数,该回调函数返回一个对象,对象中的属性即为要模拟的函数。

在测试用例中,可以使用 add.mockReturnValue() 来设置模拟函数的返回值,然后对被测试模块的结果进行断言。

需要注意的是,在使用 jest.mock() 函数时,需要确保该函数在被测试模块的引入语句之前被调用,这样才能正确地模拟被测试模块中的公共方法

jest 单元测试 mock公共方法如何写

原文地址: https://www.cveoy.top/t/topic/h1Lr 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录