【问题标题】:Running Mocha and Istanbul on multiple cwd在多个 cwd 上运行 Mocha 和 Istanbul
【发布时间】:2021-06-28 20:40:08
【问题描述】:

我正在寻找一种方法来管理测试并获得具有多个微服务的项目的覆盖率,这些微服务在其目录中有自己的测试。

└── 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-2service-3 仍将执​​行并被视为成功,尽管第一个服务失败。

【问题讨论】:

    标签: javascript mocha.js istanbul


    【解决方案1】:

    如果您执行单个命令链的测试,您的脚本退出代码将映射第一个失败的测试(如果没有测试失败,则映射最后一个成功的测试)

    #!/bin/bash
    
    cd ./services/service-1 && npm run test \ 
      && cd ../service-2 && npm run test \ 
      && cd ../service-3 && npm run test
    

    【讨论】:

      猜你喜欢
      • 2015-08-12
      • 2016-04-02
      • 2016-11-28
      • 2018-01-11
      • 2017-07-06
      • 2015-07-31
      • 1970-01-01
      • 2013-12-03
      • 1970-01-01
      相关资源
      最近更新 更多