📅  最后修改于: 2023-12-03 15:32:06.840000             🧑  作者: Mango
Jest SpyOn 是一个用于 JavaScript 测试货测试框架 Jest 的功能,它可以帮助开发人员模拟方法(函数)调用,并在测试用例中进行监听和验证,以确保代码行为正确。
使用以下命令安装 Jest SpyOn,确保已经安装了 Jest:
npm install jest --save-dev
首先,在测试文件中导入 Jest 和要测试的源码模块:
import jest from 'jest';
import myModule from './myModule';
然后,使用 Jest SpyOn 模拟 myModule 中的方法:
const mockedFunction = jest.spyOn(myModule, 'myFunction');
现在,可以使用 Jest SpyOn 进行第一次调用并检查输出结果:
myModule.myFunction();
expect(mockedFunction).toHaveBeenCalled();
还可以检查方法调用的参数:
myModule.myFunction('hello', 'world');
expect(mockedFunction).toHaveBeenCalledWith('hello', 'world');
在测试完成后,可以使用 Jest SpyOn 进行资源清理:
mockedFunction.mockRestore();
Jest SpyOn 提供了许多函数和选项,以帮助您灵活地模拟方法的行为。例如,您可以使用 .mockReturnValue
或 .mockResolvedValue
设置方法的返回值:
mockedFunction.mockReturnValue('mocked value');
expect(myModule.myFunction()).toBe('mocked value');
您还可以使用 .mockImplementation
为方法调用设置自定义实现:
mockedFunction.mockImplementation((arg1, arg2) => {
return arg1 + arg2;
});
expect(myModule.myFunction(1, 2)).toBe(3);
Jest SpyOn 是一个非常强大的测试工具,它可以帮助您确保代码方法的行为正确,进而提高代码质量和稳定性。结合其他 Jest 功能,例如断言和快照测试,您可以编写出稳健可靠的 JavaScript 测试用例。