如何使用Mocha配置TeamCity构建?

8
我正在通过Teamcity为CI建立一个项目。 该项目本身是一个Node.js应用程序,包括使用mocha编写的测试,并通过jscoverage进行覆盖。在我设置的构建配置中,有3个构建步骤会在checkin时发生。
1. 对我要覆盖的项目文件夹调用jscoverage.exe。 2. 调用mocha运行对步骤1中jscovered文件的测试,并输出到html-cov报告中。 3. 将生成的coverage.html报告移动到公共Web目录中以供稍后浏览。
构建当前在第2步失败: mocha" is not present in directory C:\NodeJS\MeasuresAPI
我确保将mocha和所有node软件包包含在系统环境路径中,并且能够在命令提示符中访问它们,但是TeamCity似乎无法看到它们。
对于jscoverage.exe,我必须包含完整路径。对于mocha,我尝试包含到我的node全局安装路径,其中mocha安装,但是它给了我一个错误:
"..\node_modules\mocha\bin\mocha"(位于"C:\ NodeJS \ MeasuresAPI"目录中):CreateProcess error = 193,%1不是有效的Win32应用程序
任何人有使用Teamcity和Mocha并使它们正常工作的经验吗? 或者有关于使用nodejs、mocha堆栈的持续集成的任何想法?
1个回答

6

是的,当我在Windows Server上设置TeamCity运行mocha时,也发生了这种情况。解决方法是通过指定mocha.cmd批处理文件的路径来调用mocha。例如,如果您有C:\mocha文件夹并且已在该目录中执行npm install mocha,则.bat文件的路径将为

C:\mocha\node_modules.bin\mocha.cmd

您可以通过给出下一个指令告诉Teamcity执行mocha命令:

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接