📜  jest spyon - Javascript (1)

📅  最后修改于: 2023-12-03 15:32:06.840000             🧑  作者: Mango

Jest SpyOn

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 测试用例。