2012-03-30 20 views
7

Ho un progetto che sto configurando tramite teamcity per CI. Il progetto stesso è un'applicazione nodejs e include test scritti in moka, che copriamo tramite jscoverage. Nella configurazione di build che sto configurando ho 3 passi di build che si verificano al momento del check-in.Come configurare TeamCity build con Mocha?

  1. chiamata jscoverage.exe contro le cartelle nel mio progetto che sto copertura.

  2. chiamata moka per eseguire il test contro i file jscovered dal punto 1 e uscita al HTML-CoV giornalista

  3. spostare il report coverage.html generato in una directory web pubblico per navigare in seguito.

La build attualmente fallisce nel passaggio 2: moka" non è presente nella directory C: \ NodeJS \ MeasuresAPI

ho fatto in modo di includere moka e tutti i miei pacchetti nodi nell'ambiente di sistema percorsi e sono in grado di accedervi nel prompt dei comandi, ma TeamCity non sembra vederli.

per jscoverage.exe, ho dovuto includere il percorso completo. Con la moka, ho provato a includere il percorso del mio nodo installazione globale in cui mocha installato ma mi dà un errore:

"..\node_modules\mocha\bin\mocha" (in directory "C:\NodeJS\MeasuresAPI"): CreateProcess error=193, %1 is not a valid Win32 application

Qualcuno ha avuto esperienza con Teamcity e Mocha e come farli giocare bene? o qualche idea per l'integrazione continua con un nodojs, stack di moka?

risposta

6

Sì, questo è successo anche a me, quando stavo configurando TeamCity per eseguire mocha su Windows Server. La soluzione era chiamare mocha specificando il percorso del file bat mocha.cmd. Per esempio, se avete la cartella C: \ moka e aver eseguito npm installare moka

in quella directory, che il percorso del file bat sarà

C: \ moka \ node_modules.bin \ moka. cMD

E si può dire TeamCity per eseguire il comando moka dandogli istruzione successiva:

C: \ test moka \ node_modules.bin \ moka --ui TDD --reporter html-CoV \ measureDBTests.js> coverage.html

Problemi correlati