Реакция ложных осей происходит асинхронно, поэтому вы не получите ответ до следующего тика цикла событий.Эта строка:
await component.instance().componentDidMount();
ожидает ответа перед продолжением синхронной операции, поэтому она работает, когда она есть, и не работает, когда вы удаляете эту строку.Есть несколько других решений, которые будут работать - Вы можете заменить эту строку на:
await Promise.resolve();
или использовать вспомогательную функцию, например, такую:
const wait = () => new Promise(resolve => setTimeout(resolve, 0));
и заменить await component.instance().componentDidMount();
с этим:
await wait();
Любой из них будет ожидать один тик цикла событий, что позволит возвращаемому ответу вернуться.Вам также может понадобиться позвонить component.update()
после того, как вы получите ложные данные.Еще одна вещь: mount(<HelloWorld />)
является синхронной и не возвращает обещание, поэтому нет необходимости await
его.