Я пытался проверить фиктивную функцию, напечатав ее возвращаемое значение на консоли.Это настройка -
Служба, которая подвергается насмешке (просто копия Fetch) -
export default function FetchService(url){
return fetch(url);
}
Это моя настройка ложной функции (в папке __mocks__) -
const posts= [
{ "id": 1, "Name": "pen", "Stock": "100" },
{ "id": 2, "Name": "pencil", "Stock": "150" }
]
export default function FetchService(url){
return new Promise((resolve)=>{
Promise.resolve(posts)
})
}
Так что, если функция макета работает нормально, обещание должно разрешаться и всегда возвращать предопределенный массив из 2 объектов, верно?
Имея это в виду, я написал следующий тестовый пример -
jest.mock('./FetchService');
test('getting data',(done)=>{
let returnedData=[];
FetchService('').then((data)=>data.json()).then((dataP)=>{
returnedData=dataP;
});
setTimeout(()=>{console.log(returnedData);done();},2000);
})
Проблема в том, что файл consoloe.log показывает, что «возвращенные данные» - это пустой массив вместо того, что я ожидал.
Чего мне здесь не хватает?Пожалуйста, дайте мне знать, если я могу предоставить дополнительную информацию.