jest 单元测试 mock公共方法如何写
在 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() 函数时,需要确保该函数在被测试模块的引入语句之前被调用,这样才能正确地模拟被测试模块中的公共方法
原文地址: https://www.cveoy.top/t/topic/h1Lr 著作权归作者所有。请勿转载和采集!