我正在编写一个单元测试,我想模拟调用 config
时返回的值。
在模块中,我多次调用 config,并想模拟其中一个调用的返回值:
import config from 'config';
const REGION: string = config.get('AWS_DYNAMODB_REGION');
const ENDPOINTS: (string | undefined)[] = config.get('AWS_DYNAMODB_ENDPOINTS');
const CLIENT_TIMEOUT: number = config.get('AWS_DYNAMODB_CLIENT_TIMEOUT');
例如,我如何模拟 config.get('AWS_DYNAMODB_CLIENT_TIMEOUT')
的返回值。
请指教。
答案 0 :(得分:0)
解决方法如下:
jest.mock('config');
import config from 'config';
let configGetSpy: jest.SpyInstance;
configGetSpy = jest.spyOn(config, 'get');
configGetSpy
.mockReturnValueOnce('AWS_DYNAMODB_REGION')
.mockReturnValueOnce([])
.mockReturnValueOnce(1001)
.mockReturnValueOnce(false)
.mockReturnValueOnce(false);