НПМ ELIFECYCLE ошибка при запуске теста

Я использую настройку mocha-phantomjs для модульного тестирования. У меня есть следующий пакет.json scriot для запуска тестов.

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

это запустить ok в браузере. И когда я запускаю команду npm testв 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 Filesnodejs\node.exe" "C:Program Filesnod
ejsnode_modulesnpmbinnpm-cli.js" "run" "testFlickr"
npm ERR! cwd C:UsersuserDesktoptest
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:UsersuserDesktoptestnpm-debug.log
npm ERR! not ok code 0
npm ERR! Test failed.  See above for more details.
npm ERR! not ok code 0

пожалуйста, кто-нибудь может сказать мне, как я могу решить эту ошибку.

4 ответов


и когда я запускаю команду npm test в cmd, тест выполняется нормально

нет это не так. У вас есть 6 тестов. Код выхода mocha-phantomjs равно количеству неудачных тестов. Запустить mocha-phantomjs ./test/FlickrTest.html непосредственно и посмотреть, что не удается. Поймите, PhantomJS немного отличается от Вашего браузера-вы можете обязательно отладки.

настройки скрипта-это странно. Нужно было так:

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

тогда нечетные ошибки узла должны идти прочь.


при работе npm test это уларов ELIFECYCLE ошибки, поэтому вы никогда не столкнетесь с этим опытом.

ссылка на код

как только вы переместите тестовый скрипт на другое имя скрипта, вы начнете видеть ELIFECYCLE ошибки.

мое исправление-добавить exit 0 до конца команды. Для вашего кода это будет выглядеть так:

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

у меня была такая же проблема, и то, что исправлено для меня, когда я запускаю свои модульные тесты, do не использовать

npm run test

вместо этого использовать:

npm test

это проблема при использовании npm run, это связано с выходом мокко с кодом !== 0 всякий раз, когда тест завершается неудачей. Если вы находитесь в Windows, попробуйте следующее:

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