使用Mocha编译React Native源代码进行测试

时间:2016-05-20 14:42:36

标签: node.js unit-testing react-native mocha

随着最近React Native v0.25.0和0.26.0的更改将React和React Native分开,我开始遇到一个问题,我的单元测试使用Mocha将不再运行,因为我的测试初始化​​失败脚本尝试从ES6编译React Native源。我的单元测试以前使用babel-register组合并忽略/包含node_modules/的某些部分(请参阅my basic test init script setup)。

具体而言,解析Error: Cannot find module 'ReactNative'时,init脚本失败并显示node_modules/react-native/Libraries/react-native/react-native.js。检查文件时,确定在那里找到require('ReactNative')行; result of the commit to fully separate out React/RN。我可以理解为什么Node和babel-register在这里死亡 - require不遵循常规约定,但似乎是FB项目的FB节点急速系统的一部分。 This SO Q&A有助于更多地了解它,但看起来我没有任何办法让我的Mocha测试运行,因为我不能涉及节点 - 在准备进行测试的巴别塔翻译中匆匆忙忙。

当它与RN v0.26.0兼容时,我会尝试react-native-mock,但如果没有它可以运行我的单元测试会很好,因为我没有&#39之前需要它。我错过了我的Mocha堆栈中的某些东西,这会使这个神奇地工作吗?我对React Native堆栈的理解是什么,它可以帮助我解决这个问题,还可以对我的各个部分进行单元测试?

(注意:我主要测试API元素,动作创建者/减少者和各种实用工具方法,检查React组件的渲染输出。)

0 个答案:

没有答案