我有一个项目,我正在通过 teamcity 为 CI 设置。 该项目本身是一个 nodejs 应用程序,它包括用 mocha 编写的测试,我们通过 jscoverage 对其进行了覆盖。在我设置的构建配置中,我有 3 个构建步骤 在签到时发生。
针对我的项目中的文件夹调用 jscoverage.exe 覆盖。
调用 mocha 以针对步骤 1 中的 jscovered 文件运行测试 并输出到 html-cov 报告器
将生成的 coverage.html 报告移至公共(public)网络目录 稍后浏览。
构建当前在第 2 步失败: mocha"不在目录 C:\NodeJS\MeasuresAPI 中
我已确保在系统环境路径中包含 mocha 和我的所有 Node 包,并且我能够在命令提示符中访问它们,但 TeamCity 似乎看不到它们。
对于 jscoverage.exe,我必须包含完整路径。使用 mocha,我尝试包括安装 mocha 的 Node 全局安装路径,但它给了我一个错误:
"..\node_modules\mocha\bin\mocha" (in directory "C:\NodeJS\MeasuresAPI"): CreateProcess error=193, %1 is not a valid Win32 application
有没有人有使用 Teamcity 和 Mocha 的经验,以及如何让它们发挥良好的作用? 或任何与 nodejs、mocha 堆栈持续集成的想法?
最佳答案
是的,当我设置 TeamCity 以在 Windows Server 上运行 mocha 时,这也发生在我身上。解决方案是通过指定 mocha.cmd bat 文件的路径来调用 mocha。例如,如果您有文件夹 C:\mocha 并且您已执行 npm 安装 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
关于javascript - 如何使用 Mocha 配置 TeamCity 构建?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9935549/