npm error ELIFECYCLE while running the test

烈酒焚心 提交于 2019-11-29 05:52:43

And when I run the command npm test in cmd, the test run alright

No they aren't. You have 6 failing tests. The exit code of mocha-phantomjs is equal to the number of failing tests. Run mocha-phantomjs ./test/FlickrTest.html directly and see what is failing. Realize the PhantomJS is a bit different than your browser - you may have to debug it.

Your script setup is odd. You should just have:

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

Then the odd node errors should go away.

When running npm test it squelches ELIFECYCLE errors so you never encounter this experience.

Reference to code

Once you move a test script to a different script-name you'll start seeing ELIFECYCLE errors.

My fix is to add a exit 0 to the end of the command. For your code it would look like this:

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

I was having this same problem, and what fixed it for me was when I run my unit tests, do NOT use

npm run test

instead use:

npm test

This is a problem when using npm run, it has to do with Mocha exiting with code !== 0 whenever a test fails. If you are on Windows try this:

"scripts": {
  "test": "npm run testFlickr || ECHO.",
  "testFlickr": "mocha-phantomjs ./test/FlickrTest.html || ECHO." 
}
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!