2016-03-29 4 views
0

Я следил за некоторыми учебниками и веб-переводами в кодовой школе, в основном на узлах, узлах, ES2015, Angular и Express. Я начал свой собственный проект, и я реализовал все вышеперечисленное. Я также пытаюсь получить автоматические сборки и тестирование, используя Travis-CI и Mocha/Supertests для разработки, основанной на тестах. Проблема, однако, если я бегу npm test я получаю эту ошибку от МоккоЗапуск Travis-CI с использованием MochaJS, Supertest w/Babel, Browserify и Gulp

1) Uncaught error outside test suite: 
    Uncaught Error: listen EADDRINUSE :::3000 
     at Object.exports._errnoException (util.js:870:11) 
     at exports._exceptionWithHostPort (util.js:893:20) 
     at Server._listen2 (net.js:1236:14) 
     at listen (net.js:1272:10) 
     at Server.listen (net.js:1368:5) 
     at EventEmitter.listen (node_modules/express/lib/application.js:617:24) 
     at Object.<anonymous> (server/app.js:34:5) 
     at require (internal/module.js:12:17) 
     at Object.<anonymous> (test.js:6:11) 
     at require (internal/module.js:12:17) 
     at Array.forEach (native) 
     at node.js:962:3 

Я просто заметил, что мне не хватает module.exports = app в конце моего основного app.js, которые могли бы помочь, но тесты все-таки удастся.

Вот ссылка на последний нажим GitHub.
Пропавшая конструкция Travis-CI.

ответ

0

Ошибка в настоящее время вы получаете на Travis CI, потому что НПМ пытается запустить приложение с node server/app.js (как указано в line 9 of your package.json), но ваше приложение требует MongoDB быть запущен (как указано on line 13 of your app.js).

НПМ должен запустить ваше приложение, прежде чем оно сможет запустить тесты.

MongoDB доступен как услуга на Travis CI. Посмотрите на Travis CI Database Setup docs и посмотрите, как вы идете.

+0

Вы правы, и я, вероятно, буду иметь эту ошибку, когда я доберусь до этой точки, но в настоящее время я пытаюсь проверить использование мокко на моей локальной машине, и я получаю эту ошибку. – gh0st

+0

Я решил, что проблема, связанная с тестированием, не работает локально. Я почти уверен, что это не имело никакого отношения к моему провалу Travis-CI, но я все равно исправил его, и после того, как я сделал travis, продолжал терпеть неудачу. Как только я последовал вашему предложению добавить mongodb в '.travis.yml', сборщики Travis начали работать. – gh0st

0

Хорошо, ошибка в том, что это экспресс-приложение пытается использовать сетевой порт на вашем компьютере, который уже используется чем-то другим (может быть, еще одно приложение Node/Express, поскольку они часто используют 3000).

Попробуйте изменить var port объявление в нижней части server/app.js быть что-то иное, чем 3000.

+0

Я, похоже, тоже не сделал этого. – gh0st

+0

Что теперь выводит ошибку? – ocean

+0

Выход ошибки тот же. – gh0st

1

меняю server/app.js слушать при использовании

if (!module.parent) { 
    app.listen(port,() => { 
     console.log("Listening on port " + port); 
    }); 
} 

Решенный мой вопрос относительно тестирования не работает на моей локальной машине , Причина этого можно найти here.
Также добавление

services: 
    - mongodb 

как @ocean сказал, работали, какие рассуждения можно ссылаться here.

 Смежные вопросы

  • Нет связанных вопросов^_^