4
コンポーネントがネイティブモジュールを含むライブラリをインポートしています。ここでは不自然な例です:サードパーティをモックする方法ネイティブ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() }} />
}
そして、ここではreact-native-fabric
からAnswers
の関連する部分である:
var { NativeModules, Platform } = require('react-native');
var SMXAnswers = NativeModules.SMXAnswers;
モカテストでこのコンポーネントをインポートする場合、これはSMXAnswers
であることを考慮に失敗しundefined
:
SMXAnswers
またはreact-native-fabric
をどうやって壊れないようにして、テストすることができますかURのコンポーネントですか?
p.s .: GitHubでテストしようとしているfull setupとcomponentが表示されます。そのような任意のネイティブモジュール模擬する
私は私が持っているとまったく同じ質問を見つけました。残念ながら、答えはありません(現在)。あなたはこれに対する解決策を見つけましたか? – Michael
@Michael私は昨日下の質問に答えました。あなたはそれを見ましたか? –
ご質問ありがとうございます。私は実際に同様の質問を作成しました:http://stackoverflow.com/questions/39633977/react-native-testing-mocking-redux-async-action-creators今のところ私は自分のネイティブの依存関係を別のモジュールに移動したので、テストに干渉することはありません。しかし、私はあなたのMockery-setupを間違いなく使用します。 – Michael