Я использую axios и jest-mock-axios.
, когда я тестирую мой API, он показывает эту ошибку:
Expected mock function to have been called one time, but it was called zero times.
вот мой файл API:
import URI from '../../constants/uri';
import globalAxios from '../../utils/axiosConfig';
const api = {
checkStock: ({ products, vendorCode }) => {
const url = URI.BASKET.CHECK_STOCK({ products, vendorCode });
const config = {
url,
method: 'get',
};
return globalAxios(config);
},
};
export default api;
description:
URI - это объект, который содержит функции, которые получают имя конечной точки и входные параметры, и создает URL-адрес для запроса.
globalAxios - это функция, которая получает метод,заголовок данных и т. д. и добавляет некоторые заголовки и вызывает axios с заданными параметрами.
и вот мой тест:
import mockAxios from 'jest-mock-axios';
import URI from '../../../constants/uri';
import api from '../api';
afterEach(() => {
mockAxios.reset();
});
const expectedData = {
products: [],
vendorCode: null,
};
describe('Basket api', () => {
describe('handle api request for checkStock', () => {
it('should request for checkStock api', () => {
api.checkStock(expectedData);
expect(mockAxios.get).toHaveBeenCalledTimes(1);
expect(mockAxios.get).toHaveBeenCalledWith(
URI.BASKET.CHECK_STOCK(expectedData),
);
});
});
});
как видите, я позвонил
api.checkStock(expectedData);
в моем тесте, но при запуске кажется, что он не вызывает API