web-dev-qa-db-ja.com

テストの実行中にnpmエラーELIFECYCLE

ユニットテストにmocha-phantomjsセットアップを使用しています。テストを実行するには、次のpackage.json scriotを使用します。

"scripts": {
"test": "npm run testFlickr",
"testFlickr": "mocha-phantomjs ./test/FlickrTest.html" 
}

これはブラウザーで問題なく実行されます。コマンドnpm testin cmdを実行すると、テストは正常に実行されますが、次のエラーも表示されます

3 passing (5s)
6 failing


npm ERR! flickr-test@ testFlickr: `mocha-phantomjs ./test/FlickrTest.html`
npm ERR! Exit status 6
npm ERR!
npm ERR! Failed at the flickr-test@ testFlickr script.
npm ERR! This is most likely a problem with the flickr-test package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     mocha-phantomjs ./test/FlickrTest.html
npm ERR! You can get their info via:
npm ERR!     npm owner ls flickr-test
npm ERR! There is likely additional logging output above.
npm ERR! System Windows_NT 6.1.7600
npm ERR! command "C:\\Program Files\\nodejs\\\\node.exe" "C:\\Program Files\\nod
ejs\\node_modules\\npm\\bin\\npm-cli.js" "run" "testFlickr"
npm ERR! cwd C:\Users\user\Desktop\test
npm ERR! node -v v0.10.26
npm ERR! npm -v 1.4.3
npm ERR! code ELIFECYCLE
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     C:\Users\user\Desktop\test\npm-debug.log
npm ERR! not ok code 0
npm ERR! Test failed.  See above for more details.
npm ERR! not ok code 0

このエラーを解決するにはどうしたらいいですか?.

18
user3115091

そして、私がcmdでコマンドnpm testを実行すると、テストは問題なく実行されます

いいえ、そうではありません。 6つの失敗したテストがあります。 mocha-phantomjsの終了コードは、失敗したテストの数と同じです。 mocha-phantomjs ./test/FlickrTest.htmlを直接実行して、何が失敗しているかを確認します。 PhantomJSはお使いのブラウザーとは少し異なることを理解してください デバッグする必要があります

スクリプトの設定がおかしいです。あなたはただ持っているべきです:

"scripts": {
   "test": "mocha-phantomjs ./test/FlickrTest.html"
}

その後、奇数ノードのエラーは解消されます。

5
Nathan Black

私はこれと同じ問題を抱えていて、それを修正したのはユニットテストを実行したときでした[〜#〜] not [〜#〜] use

npm run test

代わりに使用:

npm test
19
Jared

npm testを実行すると、ELIFECYCLEエラーが抑制されるため、このような問題は発生しません。

コードへの参照

テストスクリプトを別のスクリプト名に移動すると、ELIFECYCLEエラーが表示されるようになります。

私の修正は、コマンドの最後にexit 0を追加することです。あなたのコードでは次のようになります:

"scripts": {
  "test": "npm run testFlickr",
  "testFlickr": "mocha-phantomjs ./test/FlickrTest.html; exit 0" 
}
15
Sgnl

これはnpm runを使用する場合の問題です。テストが失敗するたびに、Mochaがコード!== 0で終了する必要があります。あなたがWindowsを使っているならこれを試してください:

"scripts": {
  "test": "npm run testFlickr || ECHO.",
  "testFlickr": "mocha-phantomjs ./test/FlickrTest.html || ECHO." 
}
2
Mihai Farcas