如何解决在多个 cwd 上运行 Mocha 和伊斯坦布尔
我正在寻找一种方法来管理测试并获取具有多个微服务的项目的覆盖率,这些微服务在其目录中有自己的测试。
└── services
├── service-1
│ ├── src
│ └── test
├── service-2
│ ├── src
│ └── test
└── service-3
├── src
└── test
每个服务都有自己的测试,它们都需要从自己的 cwd 执行,以使需求和路径正常工作。
从项目根部启动这些测试并让 nyc 覆盖整个项目的最佳方法是什么?
截至目前,我使用的是 bash 脚本 test.sh
:
#!/bin/bash
set +e
(cd ./services/service-1 && npm run test)
(cd ./services/service-2 && npm run test)
(cd ./services/service-3 && npm run test)
并使用 npx nyc ./test.sh
启动它,但如果 service-1
上的测试失败,service-2
和 service-3
仍将被执行并被视为成功,尽管第一个服务失败。
解决方法
如果您执行单个命令链的测试,则脚本退出代码将映射第一个失败的测试(如果没有测试失败,则映射最后一个成功的测试)
#!/bin/bash
cd ./services/service-1 && npm run test \
&& cd ../service-2 && npm run test \
&& cd ../service-3 && npm run test
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。