2016-05-05 5 views
1

輸入部品を見つけることができません。/モカテストに反応:私はこの質問と同様の問題を抱えている

Unable to import a React Component in my Mocha test

問題は、私はこれらの変化の両方が組み込まれているとモカはまだ検出されていないということです私の私がコンポーネントをテストしようとすると、 "import"ステートメント。

私のコールスタック(下に添付)にあるように、私はバベルレジスタをロードしています。コンポーネントファイルからインポートステートメントを追加:

ファイル

ファイル構造に従う

/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 

EDIT通りであります

//これは私がモカ

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 
その他

を実行しようとすると、私が受け取るコールスタック/エラーメッセージです//モーダル・コンポーネント

export class RecipeModal extends Component { 

import { Modal } from 'components/Modal' 

コンポーネントから(おそらく関連情報)

何らかの理由で、新しいバージョンのノードを使用するとエラーが発生するため、ノード・バージョン・マネージャー(ノード4.0)を実行しています。

ありがとうございました!あなたは、ディレクトリのパスを解決するためにWebPACKの中でエイリアスを使用している場合、私はソース

を隔離助けるため@JMMへ

+0

あなたは私たちにあなたのインポートステートメントを表示できますか? – ZekeDroid

+0

が元の質問に追加されました –

+0

あなたのインポートの 'from'値はあなたが' node_modules/components'を持っていることを示唆していますが、そうではありません。コードをテストしていないときに、それらのパスに別名を付けるものとバンドルしていますか?もしそうなら、何らかの形であなたのテスト設定を考慮する必要があります。 http://stackoverflow.com/questions/36943118/shorten-es2015-import-paths/36944166#36944166も参照してください。 – JMM

答えて

1

おかげで、あなたはノードモジュール

であなたのモカ実行スクリプトまたはモック必要とそれらにそれらを含める必要があります

Using webpack aliases in mocha tests

関連する問題