Когда я утверждаю, сколько раз вызываемая функция вызывалась, импортированная проверенная функция всегда возвращает объединенное количество вызовов.
Например, в первом наборе тестов есть функция, называемая фиктивной функцией import { get } from 'axios'
, и ожидаемое значение toHaveBeenCalledTimes
равно 1
.Однако во втором наборе тестов функция снова вызывается get
и toHaveBeenCalledTimes
равно 2
вместо 1
.
Как заставить смоделированную функцию toHaveBeenCalledTimes
возвращать счет обновления для каждого тестакостюм?
describe('fetchAData', () => {
it('should return the right A data response', (done) => {
const sampleResponse = { data: dataASample };
get.mockImplementationOnce(() => {
return Promise.resolve(sampleResponse);
});
fetchAData().then(() => {
expect(get).toHaveBeenCalledTimes(1);
done();
});
});
});
describe('fetchBData', () => {
it('should return the right B data response', (done) => {
const sampleResponse = { data: dataBSample };
get.mockImplementationOnce(() => {
return Promise.resolve(sampleResponse);
});
fetchBData().then(() => {
expect(get).toHaveBeenCalledTimes(1); // -> Return `2`
done();
});
});
});