Angular 8 Husky,代码覆盖率的预提交条件

我有一个8号角项目,我试图设置一种情况,除非通过一定百分比的代码覆盖率,否则用户无法提交。

我正在使用NX Workspace和Husky在提交之前运行Linting。我想在此基础上进行ng测试,以及我能提供的覆盖率测试的百分比。如果三个都通过,则提交代码。

我现在有这个package.json文件。我该如何添加呢?

  "scripts": {
    "ng": "ng","nx": "nx","start": "ng serve","build": "ng build","test": "ng test","lint": "nx workspace-lint && ng lint","e2e": "ng e2e","affected:apps": "nx affected:apps","affected:libs": "nx affected:libs","affected:build": "nx affected:build","affected:e2e": "nx affected:e2e","affected:test": "nx affected:test","affected:lint": "nx affected:lint","affected:dep-graph": "nx affected:dep-graph","affected": "nx affected","format": "nx format:write","format:write": "nx format:write","format:check": "nx format:check","update": "ng update @nrwl/workspace","update:check": "ng update","workspace-schematic": "nx workspace-schematic","dep-graph": "nx dep-graph","help": "nx help","storybook": "start-storybook -p 6006","build-storybook": "build-storybook"
  },"husky": {
    "hooks": {
      "pre-commit": "npm run affected:lint"
    }
  },...
Boney2009 回答:Angular 8 Husky,代码覆盖率的预提交条件

您应该能够制作一个单独的脚本来读取测试脚本的标准输出,以使用正则表达式提取覆盖率。

然后它将百分比存储在一个变量中,并将其与最小覆盖量进行比较以设置适当的错误级别,然后返回给 git。

脚本文件将由 husky 运行。

例如

usr_coverage=12; # store the extracted coverage here
min_coverage=10;

if [ $usr_coverage -lt $min_coverage]; then
    echo "Coverage is too low.";
    exit 1;
fi
exit 0
本文链接:https://www.f2er.com/2752381.html

大家都在问