Travis-CI с жасмином - node
Я пытаюсь заставить travis-ci протестировать мой модуль nodejs с помощью jasmine- node. Когда я запускаю тесты из командной строки, все они проходят, но по какой-то причине Travis всегда сообщает, что моя сборка не работает. Мой .travis.yml выглядит следующим образом:
language: node_js
node_js:
- 0.6
- 0.8
и мой package.json выглядит так:
"scripts": {
"test": "jasmine-node tests/*.spec.js"
}
Я попытался добавить before_script к моему travis.yml
language: node_js
node_js:
- 0.6
- 0.8
before_script:
- "sudo npm i -g jasmine-node"
Любые идеи?
Ответы
Ответ 1
Проведя некоторое время с веб-приложением travis-ci lint web, похоже, что он просто сменился вопросом форматирования в моем файле .travis.yml. Мой текстовый редактор вставлял вкладки, где оказалось, что yaml требует, чтобы вы использовали только пробелы. Я также добавил хорошие цитаты вокруг всего.
Теперь он выглядит следующим образом: после того, как я использовал только пробелы и символы новой строки:
language: node_js
node_js:
- "0.6"
- "0.8"
before_script:
- "npm i -g jasmine-node"
Ответ 2
Вот репозиторий с рабочим примером сборки travis, запускающей тесты jasmine-node
: https://github.com/yosethegame/yosethegame.
Обратите внимание, что package.json
объявляет зависимость jasmine-node
, которую travis установит на фазе установки npm.
Ответ 3
У меня была аналогичная проблема некоторое время назад, я использовал в то время jasmine- node -g, и поскольку это была простая ката, я думал, что нет необходимости добавлять package.json в папку, но когда Я перешел на интеграцию того же проекта с travis-ci, я прошел через ад, чтобы настроить его.
Со временем я узнал, что лучше держать вещи красивыми и плотными и использовать ваш дружелюбный package.json вместо глобальных установок (здесь есть хорошая статья, говорящая об этом: Почему избежать глобальных тестовых бегунов)
Мой совет будет вам добавить jasmine- node в package.json, что-то короткое, чем это
{
"name" : "XXX",
"version" : "1.0.0",
"devDependencies" : {
"jasmine-node" : "latest"
},
"scripts" : {
"test" : "jasmine-node specs/*spec.js"
}
}
Конечно, сэкономит вам головную боль и массу времени на настройку не только с интеграцией travis-ci, но и может спасти кого-то еще, если кто-то захочет повторно использовать то, что вы сделали.;)