2017-09-23 58 views
0

我试图建立单元测试使用ReactTestUtils 一个反应的本机项目不过我跑NPM测试而得到这个错误:找不到模块“反应/ lib目录/阵营”从“ReactTestUtils.js”

Cannot find module 'react/lib/React' from 'ReactTestUtils.js' 

我感觉我的依赖不能正常工作,但我找不到原因。我已经尝试降级反应版本,但这并不能解决我的问题并调整反应版本,但我似乎无法找到黄金组合。

任何人都知道这是否是已知问题?我无法在这里找到关于此的任何文档,也没有在反应文档中找到。

这是我的package.json配置:

"scripts": { 
    "start": "react-native-scripts start", 
    "eject": "react-native-scripts eject", 
    "android": "react-native-scripts android", 
    "ios": "react-native-scripts ios", 
    "test": "jest --watch" 
    }, 
    "dependencies": { 
    "react-native-scripts": "0.0.40", 
    "expo": "18.0.3", 
    "react": "16.0.0-alpha.12", 
    "react-native": "0.45.1", 
    "react-navigation": "1.0.0-beta.11" 
    }, 
    "devDependencies": { 
    "enzyme": "^2.9.1", 
    "jest": "19.0.2", 
    "jest-expo": "~18.0.0", 
    "react-addons-test-utils": "^15.6.0", 
    "react-dom": "^15.6.1", 
    "react-test-renderer": "^16.0.0-alpha.12" 
    }, 
    "jest": { 
    "preset": "react-native", 
    "collectCoverage": true, 
    "coverageDirectory": "__coverage__", 
    "testRegex": "./__tests__/[^setup].*.js$", 
    "transformIgnorePatterns": [ 
     "node_modules/(?!react-native|native-base|react-navigation|react-native-fabric)" 
    ], 
    "setupFiles": [ 
     "./__tests__/setup.js" 
    ] 
    } 

回答

0

你是混乱阵营(网络)和响应本地。

ReactTestUtils针对React制作,不适用于React-Native。因此你需要在别处寻找单元测试React-Native。 此外,您应该从您的项目中删除React作为依赖项。

0

我在这里看到的问题是,您在同一时间依靠反应16和15。 react/lib/*中的内部在反应16中完全改变了,所以compat是不可能的。 你应该使用一切来反应( - *)16或15,但不是两者的混合。

最新的Jest和酶(v3)现在有完全compat反应16刚刚出来!

相关问题