1
我也有類似的問題,因爲這個問題:反應,和/摩卡測試:找不到進口部件
Unable to import a React Component in my Mocha test
的問題是,我已經把這些變化既與摩卡仍然沒有檢測我的當我嘗試測試組件時「導入」語句。
我看到我的調用堆棧(附在底部),我正在加載babel-register。
文件是爲遵循
文件結構
/client
/src
/components
//test components
/containers
/test
/components
/dom.js && helper.js
的package.json
"babel": {
"presets": ["es2015"]
}
"scripts": {
"start": "node bin/server.js",
"test": "mocha --compilers js:babel-register \"./test/**/*.js\" --require ignore-styles",
"test:watch": "npm run test -- --watch"
},
mocha.opt文件
--require ./test/test_helper.js
--require ./test/dom.js
--recursive
編輯:增加進口從組件文件的語句
//從組件
import { Modal } from 'components/Modal'
//模態分量
export class RecipeModal extends Component {
這是我收到的調用堆棧/錯誤消息,當我嘗試運行摩卡
Warning: require('react/addons') is deprecated. Access using require('react-addons-{addon}') instead.
Error: Cannot find module 'components/RecipeModal'
at Function.Module._resolveFilename (module.js:336:15)
at Function.Module._load (module.js:286:25)
at Module.require (module.js:365:17)
at require (module.js:384:17)
at Object.<anonymous> (index.js:11:1)
at Module._compile (module.js:434:26)
at loader (/Users/ACKeepingitCoo/Desktop/ketoBot/client/node_modules/babel-register/lib/node.js:158:5)
at Object.require.extensions.(anonymous function) [as .js] (/Users/ACKeepingitCoo/Desktop/ketoBot/client/node_modules/babel-register/lib/node.js:168:7)
at Module.load (module.js:355:32)
at Function.Module._load (module.js:310:12)
at Module.require (module.js:365:17)
at require (module.js:384:17)
at Object.<anonymous> (Recipes_test.js:2:1)
at Module._compile (module.js:434:26)
at loader (/Users/ACKeepingitCoo/Desktop/ketoBot/client/node_modules/babel-register/lib/node.js:158:5)
at Object.require.extensions.(anonymous function) [as .js] (/Users/ACKeepingitCoo/Desktop/ketoBot/client/node_modules/babel-register/lib/node.js:168:7)
at Module.load (module.js:355:32)
at Function.Module._load (module.js:310:12)
at Module.require (module.js:365:17)
at require (module.js:384:17)
at /Users/ACKeepingitCoo/Desktop/ketoBot/client/node_modules/mocha/lib/mocha.js:219:27
at Array.forEach (native)
at Mocha.loadFiles (/Users/ACKeepingitCoo/Desktop/ketoBot/client/node_modules/mocha/lib/mocha.js:216:14)
at Mocha.run (/Users/ACKeepingitCoo/Desktop/ketoBot/client/node_modules/mocha/lib/mocha.js:468:10)
at loadAndRun (/Users/ACKeepingitCoo/Desktop/ketoBot/client/node_modules/mocha/bin/_mocha:359:22)
at Object.<anonymous> (/Users/ACKeepingitCoo/Desktop/ketoBot/client/node_modules/mocha/bin/_mocha:376:3)
at Module._compile (module.js:434:26)
at Object.Module._extensions..js (module.js:452:10)
at Module.load (module.js:355:32)
at Function.Module._load (module.js:310:12)
at Function.Module.runMain (module.js:475:10)
at startup (node.js:117:18)
at node.js:951:3
其他(可能相關信息)
我正在運行節點版本管理器(節點4.0),因爲由於某種原因,使用較新版本的節點會引發錯誤。
非常感謝您的幫助!
你能告訴我們你的進口聲明嗎? – ZekeDroid
已添加到原始問題 –
導入的「from」值表明您有'node_modules/components',但您沒有。當你沒有測試代碼時,你是否使用別名路徑捆綁了它?如果是這樣,你將不得不用你的測試設置來解決這個問題。另見http://stackoverflow.com/questions/36943118/shorten-es2015-import-paths/36944166#36944166。 – JMM