如何使用Mocha配置TeamCity构建?

wil*_*llz 8 javascript teamcity continuous-integration mocha.js node.js

我有一个项目,我通过teamcity为CI设置.项目本身是一个nodejs应用程序,它包括用mocha编写的测试,我们通过jscoverage覆盖.在我正在设置的构建配置中,我有3个构建步骤,这些步骤在签入时发生.

  1. 调用jscoverage.exe对我正在覆盖的项目中的文件夹.

  2. 调用mocha对步骤1中的jscovered文件运行测试并输出到html-cov报告器

  3. 将生成的coverage.html报告移动到公共Web目录中以便稍后浏览.

构建当前在步骤2中失败:目录C:\ NodeJS\MeasuresAPI中不存在mocha"

我确保在系统环境路径中包含mocha和我的所有节点包,并且我能够在命令提示符中访问它们,但是TeamCity似乎没有看到它们.

对于jscoverage.exe,我必须包含完整路径.使用mocha,我尝试将路径添加到我的节点全局安装中,其中安装了mocha但是它给了我一个错误:

".. \node_modules\mocha\bin\mocha"(在目录"C:\ NodeJS\MeasuresAPI"中):CreateProcess error = 193,%1不是有效的Win32应用程序

任何人都有Teamcity和Mocha的经验,以及如何让他们玩得很好?或任何与nodejs,mocha堆栈持续集成的想法?

小智 6

是的,当我设置TeamCity在Windows Server上运行mocha时,这也发生在我身上.解决方案是通过指定mocha.cmd bat文件的路径来调用mocha.例如,如果你有文件夹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> coverage.html