Привет, ребята, у меня возникают проблемы, чтобы проверить асинхронную функцию с извлечением на сервер внутри. Я использую мокко с chai-as-обещанным. Тест, который терпит неудачу, это: «вернуть правильный заголовок». Я думаю, мне пришлось бы издеваться над вызовом fetch или что-то в этом роде, или, может быть, проблема в том, что я вызываю функцию async, и когда я выполняю единичный тест, и я не разрешайте обещание. Я не очень уверен, как это достичь. Не могли бы вы помочь мне?Тестирование асинхронного метода с моккой и chai
Функция для теста:
import React from 'react'
import Technologies from './Technologies'
import fetch from '../../core/fetch'
let title= 'Technologies'
export default {
path: '/technologies',
async action() {
const resp = await fetch('/graphql', {
method: 'post',
headers: {
Accept: 'application/json',
'Content-Type': 'application/json',
},
body: JSON.stringify({
query: '{technologies{name,icon,url}}',
}),
credentials: 'include',
})
let { data, } = await resp.json()
if (!data || !data.technologies) throw new Error('Failed to load technologies.')
return {
title:title,
component: <Technologies title={title} technologies={data.technologies} />,
}
},
}
И мои тесты:
describe('Route',() => {
it('has right path',() => {
expect(Route.path === '/technologies').to.be.true
})
it('return proper title',() => {
const title = 'Technologies'
expect(Route.action().title === title).to.be.true
})
})