Я создаю приложение с React Native. Я хочу свести к минимуму, как часто я общаюсь с базой данных, поэтому я активно использую AsyncStorage. Там много места для ошибок в переводе между БД и AsyncStorage. Поэтому я хочу убедиться, что AsyncStorage имеет данные, которые, как я полагаю, он делает, запуская автоматические тесты против него. Удивительно, но я не нашел никакой информации о том, как это сделать в Интернете. Мои попытки сделать это сами по себе не сработали.
Использование Jest:
it("can read asyncstorage", () => {
return AsyncStorage.getItem('foo').then(foo => {
expect(foo).not.toBe("");
}); });
Этот метод завершился с ошибкой:
TypeError: RCTAsyncStorage.multiGet is not a function
Удаление возврата приведет к его немедленному запуску, не дожидаясь значения и неправильно пройти тест.
Я получил одну и ту же ошибку, когда пытался проверить ее с помощью ключевого слова wait:
it('can read asyncstorage', async () => {
this.foo = "";
await AsyncStorage.getItem('foo').then(foo => {
this.foo = foo;
});
expect(foo).not.toBe(""); });
Любые предложения по успешному запуску утверждений против значений в AsyncStorage? Я предпочел бы продолжать использовать Jest, но если это можно сделать только с помощью некоторой альтернативной библиотеки тестирования, я открыт для этого.