Wie testet man eine reaktive native Komponente, die ein benutzerdefiniertes natives Modul mit Jest importiert?

8

Hier ist eine einfache Komponente, die ich versuche zu testen mit Native Reagieren 0.39 und Jest 18:

%Vor%

Hier ist TestModule und seine test Methode:

%Vor%

Der folgende Test schlägt fehl mit dem Fehler TypeError: Cannot read property 'test' of undefined :

%Vor%

Ich habe die Jest-Dokumentation gelesen, wie man Mock native Module mit jest.mock , aber es ist immer noch unklar, wie Jests Mock von NativeModules erweitert werden kann, um meine TestModule-Klasse oben einzubeziehen.

    
andybangs 27.12.2016, 06:18
quelle

4 Antworten

9

Sie können einfach eine Kopie hinzufügen, wo Ihr natives Modul sein sollte:

%Vor%     
rgoldfinger 28.12.2016, 18:41
quelle
1

Jest ist ein JavaScript-Test-Tool, es wird keinen Code ausführen, den Sie in Objective C / Swift / Java in einem nativen Modul geschrieben haben. Sie können sich über die Funktionalität eines nativen Moduls lustig machen, sodass Sie es über den Ansatz, mit dem Sie verbunden sind, von JavaScript aus aufrufen können. zB.

%Vor%     
vonovak 28.12.2016 14:36
quelle
1
%Vor%

und dann

%Vor%     
stereodenis 07.03.2017 16:37
quelle
1

Auf diese Weise werden Sie es einmal verspotten (bevor der Spaß beginnt)

jest.config.js

%Vor%

__mocks__/your-native-bridge.js

%Vor%

Vergessen Sie nicht, alle möglichen Funktionen, Eigenschaften in YourNativeBridge

zu überspielen     
gr3g 04.12.2017 17:32
quelle