2017-09-23 62 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剛剛出來!

相關問題