javascript - 如何使用 Mocha 配置 TeamCity 构建?

标签 javascript node.js continuous-integration teamcity mocha.js

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

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

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

  3. 将生成的 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/

相关文章:

node.js - 具有单个文档字符串数组字段的服务器端分页

java - Maven with Nexus - 由 : java. util.zip.ZipException 引起:打开 zip 文件时出错

azure - 从构建服务器构建和部署 Azure Functions 应用程序

javascript - 如何在 nuxt.js 上从子组件获取值到父组件?

javascript - 发送预定消息

javascript - 如何防止 ObjectID 变得原始?

node.js - 从 github 拉取后,npm 开发服务器将无法启动

github - github.event 的简单回显在 Github Actions 中失败

javascript - jQuery Mobile 在另一个函数完成后执行一个函数

javascript - jQuery 中以浏览器为前缀的 CSS 属性