Как настроить сборку TeamCity с Mocha? - PullRequest
8 голосов
/ 30 марта 2012

У меня есть проект, который я создаю через teamcity для CI.Сам проект является приложением nodejs и включает тест, написанный на mocha, который мы рассмотрим через jscoverage.В конфигурации сборки, которую я настраиваю, у меня есть 3 шага сборки, которые происходят при регистрации.

  1. вызовите jscoverage.exe для папок в моем проекте, которые я охватываю.

  2. вызовите mocha, чтобы запустить тест для jscovered файлов с шага 1 и вывести его в репортер html-cov

  3. переместить сгенерированный отчет cover.html вобщедоступный веб-каталог для просмотра позже.

Сборка в настоящее время не выполняется на шаге 2: mocha "отсутствует в каталоге C: \ NodeJS \ MeasuresAPI

убедитесь, что mocha и все мои пакеты узлов включены в пути к системной среде, и я могу получить к ним доступ в командной строке, но TeamCity их не видит.

для jscoverage.exe, мне пришлосьвключите полный путь. С помощью mocha я попытался включить путь к глобальной установке моего узла, на который был установлен mocha, но он выдает ошибку:

".. \ node_modules \ mocha \ bin \ mocha"(в каталоге "C: \ NodeJS \"MeasuresAPI "): ошибка CreateProcess = 193,% 1 не является допустимым приложением Win32

Кто-нибудь имел опыт работы с Teamcity и Mocha и как заставить их играть хорошо?или есть идеи для непрерывной интеграции с nodejs, стеком мокко?

1 Ответ

6 голосов
/ 31 марта 2012

Да, это тоже случилось со мной, когда я настраивал TeamCity для запуска mocha на Windows Server. Решением было вызвать mocha, указав путь к файлу mocha.cmd bat. Например, если у вас есть папка C: \ mocha и вы выполнили npm install mocha

в этом каталоге, чем путь к файлу bat будет

C: \ мокко \ node_modules.bin \ mocha.cmd

И вы можете указать Teamcity выполнить команду mocha, дав следующую инструкцию:

C: \ mocha \ node_modules.bin \ mocha --ui tdd --reporter html-cov test \ measureDBTests.js> cover.html

...