4
组件正在导入包含本机模块的库。这是一个人为的例子:如何模拟第三方React 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() }} />
}
这里是Answers
从react-native-fabric
相关部分:
var { NativeModules, Platform } = require('react-native');
var SMXAnswers = NativeModules.SMXAnswers;
当导入在摩卡测试这个组件,这个失败的帐户SMXAnswers
是undefined
:
你如何模拟SMXAnswers
或react-native-fabric
,以便它不会中断并允许您测试哟你的组件?
p.s .:你可以看到full setup和component我正试图在GitHub上测试。
最后我发现正是我有同样的问题。不幸的是,没有答案(截至目前)。你有没有找到解决方案? – Michael
@Michael我昨天回答了我的问题;你看见了吗? –
非常感谢您回答您的问题。我实际上创建了一个类似的问题:http://stackoverflow.com/questions/39633977/react-native-testing-mocking-redux-async-action-creators。现在我已经把我的本地依赖移动到了一个单独的模块,所以它不会干扰我的测试。但是我肯定会使用你的Mockery-setup。 – Michael