Eine Komponente importiert eine Bibliothek, die ein natives Modul enthält. Hier ist ein konstruiertes Beispiel:Wie man Dritte verspottet Reaction Native NativeModules?
import React from 'react';
import { View } from 'react-native';
import { Answers } from 'react-native-fabric';
export default function MyTouchComponent({ params }) {
return <View onPress={() => { Answers.logContentView() }} />
}
Und hier ist der relevante Teil von Answers
von react-native-fabric
:
var { NativeModules, Platform } = require('react-native');
var SMXAnswers = NativeModules.SMXAnswers;
Wenn diese Komponente in einem Mokka Test importieren, dies nicht gelingt wegen, dass SMXAnswers
ist undefined
:
Wie machst du SMXAnswers
oder react-native-fabric
, so dass es nicht bricht und Sie yo testen können Ihre Komponenten?
ps .: Sie können die full setup und die component Ich versuche, auf GitHub testen.
Endlich fand ich genau die gleiche Frage, die ich habe. Leider gibt es keine Antworten (ab sofort). Haben Sie eine Lösung dafür gefunden? – Michael
@Michael Ich habe gestern meine Frage beantwortet. hast du es gesehen? –
Vielen Dank für die Beantwortung Ihrer Frage. Ich habe tatsächlich eine ähnliche Frage erstellt: http://stackoverflow.com/questions/39633977/react-native-testing-mocking-redux-async-action-creators. Für jetzt habe ich meine nativen Abhängigkeiten zu einem separaten Modul verschoben, so dass es meine Tests nicht beeinträchtigt. Aber ich werde auf jeden Fall dein Spick-Setup benutzen. – Michael