Javascript 单元测试反应本机应用程序,使用带有Jest的本机模块
我正试着用笑话测试我的React原生应用程序。我的应用程序使用了一些本机模块,我甚至无法运行初始测试 我的应用程序使用具有本机依赖项的组件Javascript 单元测试反应本机应用程序,使用带有Jest的本机模块,javascript,unit-testing,react-native,jestjs,Javascript,Unit Testing,React Native,Jestjs,我正试着用笑话测试我的React原生应用程序。我的应用程序使用了一些本机模块,我甚至无法运行初始测试 我的应用程序使用具有本机依赖项的组件react native camera 初始测试: import 'react-native'; import React from 'react'; import Index from '../index.ios.js'; // Note: test renderer must be required after react-native. import
react native camera
初始测试:
import 'react-native';
import React from 'react';
import Index from '../index.ios.js';
// Note: test renderer must be required after react-native.
import renderer from 'react-test-renderer';
it('renders correctly', () => {
const tree = renderer.create(
<Index />
);
});
如何绕过本机模块导致的此类错误?浅渲染还是类似的
我使用RN 0.39
感谢关于react native now的Jest文档中描述了这一点: transformIgnorePatterns选项可用于防止使用babel转换的白名单或黑名单文件。不幸的是,许多本机npm模块在发布之前没有预编译它们的源代码 默认情况下,jest react本机预设仅处理项目自己的源文件和react本机。如果您有必须转换的npm依赖项,则可以通过将react native以外的模块列入白名单来自定义此配置选项: react本机项目中的github上也存在一个讨论此问题的问题:
希望这有帮助在react native now的Jest文档中有描述: transformIgnorePatterns选项可用于防止使用babel转换的白名单或黑名单文件。不幸的是,许多本机npm模块在发布之前没有预编译它们的源代码 默认情况下,jest react本机预设仅处理项目自己的源文件和react本机。如果您有必须转换的npm依赖项,则可以通过将react native以外的模块列入白名单来自定义此配置选项: react本机项目中的github上也存在一个讨论此问题的问题: 希望这有帮助
TypeError: Cannot read property 'Aspect' of undefined
at Object.<anonymous> (node_modules/react-native-camera/index.js:250:78)
"transformIgnorePatterns": [
"node_modules/(?!react-native|my-project|react-native-button)/"
]