试图在带有Jest的Node中测试此类方法。我正在努力模拟获取。
有什么想法吗?
Api类
async spotDate() {
const url = 'url';
const query = 'query';
const requestOptions = 'options;
let response = await fetch(url + query, requestOptions);
let json = await response.json();
let date = await new Date(json.settlement_date + "Z");
return date
}
Api.test
jest.mock('node-fetch');
const fetch = require('node-fetch');
const {Response} = jest.requireActual('node-fetch');
it('should fetch', async () => {
fetch.mockReturnValue(
Promise.resolve(new Response({settlement_date: '2020-06-03T00:00:00'})),
);
const api = new Api()
await api.spotDate()
expect(fetch).toHaveBeenCalledTimes(1);
});