У меня следующий жизненный цикл с async / await
async componentDidMount() {
try {
const { name, key, expiration } = await DataService.getdata();
this.setState({
key,
expiration,
name,
});
} catch (err) {
console.log(err);
}
}
Я написал следующий тест для проверки состояния, обновленного правильно, когда данные поступают из вызова await:
jest.mock("axios");
test('correct state update', () => {
const responseText = {
name: "test name",
key: "test_key",
expiration: null,
};
axios.get.mockResolvedValueOnce(responseText);
const wrapper = shallow(<ComponentWrapper />);
setImmediate(() => {
expect(wrapper.state().name).toBe('test name');
done();
});
});
Но у меня естьошибка при выполнении теста:
throw error;
^
Error: expect(received).toBe(expected) // Object.is equality
Expected: "test name"
Received: undefined
Также тест никогда не заканчивается, он продолжает выполняться
Если я удаляю этот тест и просто запускаю тест для правильного рендеринга, у меня появляется следующая ошибка:
TypeError: Cannot read property 'get' of undefined
at Function.get (DataService.js:10:32)