【发布时间】:2018-04-26 11:13:09
【问题描述】:
我有以下 Jest 测试:
import React from 'react';
import IndexSign from '../IndexSign';
import renderer from 'react-test-renderer';
it('renders correctly', () => {
const tree = renderer.create(
<IndexSign index={1}/>
).toJSON();
expect(tree).toMatchSnapshot();
});
我调用的IndexSign 组件调用了这个StyleSheet 组件:
import {StyleSheet} from 'react-native';
export default StyleSheet.create({
//some styles
});
为了测试,我使用 Gulp:
gulp.task('tests', () => {
process.env.NODE_ENV = 'test';
return gulp.src('src').pipe(jest({
}));
});
问题是当我运行这个测试时,我得到:
● Test suite failed to run
Cannot find module 'StyleSheet' from 'react-native-implementation.js'
at Resolver.resolveModule (../node_modules/jest-resolve/build/index.js:142:17)
at Object.StyleSheet (../node_modules/react-native/Libraries/react-native/react-native-implementation.js:98:25)
at Object.<anonymous> (styles/Styles.js:5:13)
知道为什么会这样吗?
为什么它在react-native-implementation.js 中搜索StyleSheet 而不是我导入的react-native?
为什么找不到StyleSheet?
【问题讨论】:
-
您找到解决方案了吗?也偶然发现了这个
标签: javascript react-native gulp jestjs