Travis 在子目录中构建

Travis build in subdirectory

我正在尝试为我创建的 MERN 堆栈项目的后端创建自动化测试。我的目录结构是 .travis.yml 文件与后端文件夹和前端文件夹以及 package.json 文件一起位于根文件夹中。

package.json 文件中,我将测试脚本设为 cd backend && npm test,其中后端的测试脚本为 mocha test/*js

然而,每次触发构建时,构建都会失败并显示 mocha not found

我感觉这与我尝试在子目录中进行测试有关。有谁知道如何解决这个问题或如何配置 travis 以便我可以在子目录中进行测试?

我通过在 .travis.yml.

中向 before_script 添加自定义脚本成功解决了这个问题

目前我的目录结构如下:

Project
   |-- backend  <-- Tests are located here
   |-- frontend
   |-- .travis.yml
   |-- package.json
   `-- Other misc files...

为了在子目录 Project/backend 中进行 travis 运行 测试,我需要将以下内容添加到我的 before_script

before_script:
  - cd backend
  - npm install mocha chai

在此之后,测试非常有效。