Ich baue eine App mit React Native. Ich möchte minimieren, wie oft ich mit der Datenbank kommuniziere, also benutze ich AsyncStorage. Bei der Übersetzung zwischen DB und AsyncStorage gibt es jedoch viel Platz für Fehler. Daher möchte ich sicherstellen, dass AsyncStorage die Daten enthält, von denen ich glaube, dass sie dies tut, indem Sie automatisierte Tests dagegen ausführen. Überraschenderweise habe ich keine Informationen darüber gefunden, wie man das online macht. Meine Versuche, das alleine zu machen, haben nicht geklappt.
Verwenden von Jest:
%Vor%Diese Methode ist mit einem Fehler fehlgeschlagen:
%Vor%Wenn Sie die Rückkehr entfernen, wird sie sofort ausgeführt, ohne auf den Wert zu warten und den Test nicht ordnungsgemäß zu bestehen.
Ich habe genau den gleichen Fehler bekommen, als ich versucht habe, es mit dem await-Schlüsselwort zu testen:
%Vor%Gibt es Vorschläge, wie Sie Assertionen gegen die Werte in AsyncStorage erfolgreich ausführen können? Ich würde es vorziehen, weiterhin Jest zu verwenden, aber wenn es nur mit einer alternativen Testbibliothek möglich ist, bin ich dafür offen.
Meine ursprüngliche Antwort wies nur darauf hin, wie der Autor des Reactive-Native-Simple-Store mit dem Spott umgegangen war. Ich habe meine Antwort mit meinem eigenen Spott aktualisiert, der Jasons hartcodierte Scheinantworten entfernt.
Jason Merino hat einen schönen einfachen Ansatz dazu in Ссылка Tests /index-test.js#L31-L64
%Vor%Mein eigener Mock:
%Vor%Damit jemand anders hierher kommt, benötigt asyncStorage auch einen Callback, einige libs verwenden dies
Tags und Links asynchronous react-native reactjs jestjs asyncstorage