jest-coverage-ratchet 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
jest-coverage-ratchet 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
jest-coverage-ratchet 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 MIT License
开发语言 PHP
操作系统 跨平台
软件类型 开源软件
开源组织
地区 不详
投 递 者 首席测试
适用人群 未知
收录时间 2021-12-02

软件简介

jest-coverage-ratchet

Raises jest's minimum coverage thresholds (per category) if current coverage is higher.

What does it do?

Lets say you have some jest coverage thresholds set in the package.json for your project at the following values:

{
  "branches": 30,
  "functions": 30,
  "lines": 30,
  "statements": 50,
}

then you get inspired one day and write lots of tests. Now your actual coverage summary might look like this:

{
  "branches": 50,
  "functions": 60,
  "lines": 77,
  "statements": 50,
}

Great 🌸 Except you'd really like your accomplishment to set the new standard for test coverage in this project. jest-coverage-ratchet just does that automatically by looking at your current coverage summary, comparing it to your specified coverage thresholds, and updating the minimum for any threshold that is higher in the summary.

So given the previous values, running this script will update your coverage thresholds specified in the jest key of package.json to the following values:

{
  "branches": 50,
  "functions": 60,
  "lines": 77,
  "statements": 50,
}

Installation

Just add as a dev dependency to your project like

npm install --save-dev jest-coverage-ratchet

or

yarn add --dev jest-coverage-ratchet

I recommend then using the binary jest-coverage-ratchet as part of a prepush hook.

Assumptions

I know what happens when you assume, but jest-coverage-ratchet makes the following assumptions about your project.

  • jest has been run for project at least once with --coverage so that there is a valid file at the path ./coverage/coverage-summary.json (alternatively pass a path with --coverageSummaryPath of ./your/path/to/coverage-summary.json)
  • jest configuration object is present in the package.json that specifies at least:
    {
      // ...
      "jest": {
        "coverageReporters": [
          "json-summary"
        ],
        "coverageThreshold": {
          "global": {
            "branches": Number,
            "functions": Number,
            "lines": Number,
            "statements": Number,
          }
        }
      },
      // ...
    }

Should this tool support things like piping the coverage data in as an argument? Of course it should. If you want to build that and send a PR I will be all smiles 😀. If not then you probably see me do it eventually.

Questions?

Just submit an issue or a PR, I'm no elitist.

展开阅读全文

代码

评论 (0)

加载中
更多评论
暂无内容
发表了博客
2019/04/08 15:27

Jest

vue cli 拥有开箱即用的通过 Jest 或 Mocha 进行单元测试的内置选项。 由于mocha单元测试集合在vue cli下有问题,可以使用 jest 来完成单元测试。 语法: 普通匹配器: tobe : 是否精确匹配 toBe用的是 js 中的 Object.is() ,属于ES6中的特性,所以不能检测对象,如果要检测对象的值的话,需要用到 toEqual 。 toEquel : 递归检查对象或者数组中的每个字段。 toBeNull只匹配null toBeUndefined只匹配undefined toBeDefine与toB...

0
0
发表了博客
2018/07/10 19:27

[Jest] Write data driven tests in Jest with test.each

Often, we end up creating multiple unit tests for the same unit of code to make sure it behaves as expected with varied input. This is a good practice, but it can be a little tedious to create what is essentially the same test multiple times. We copy a test, paste it and update the variables that matter. Maybe we do that several times. Then, if we need to update our tests, we update each copy o...

0
0
发表了博客
2018/03/13 16:33

SV coverage

covergroup是对coverage model的一种包装,每个covergroup可以包含:   1) sync event来触发采样,   2) 很多coverpoint,   3) cross coverpoint,   4) 可选的formal arguments,   5) 很多options。 covergroup与class类似,也是需要new出来对象,本身定义的只是一个原型,covergroup可以被定义在   package,module,program,interface,checker或者class中。 sync event是可选的,省略的情况下,显示调用内部...

0
0
发表于大前端专区
2018/07/08 22:36

React 16 Jest单元测试 之 Jest工具

转载地址 React 16 Jest单元测试 之 Jest工具 项目初始化【这里使用之前的项目,节省时间】 项目初始化地址 https://github.com/durban89/webpack4-react16-reactrouter-demo.git tag:v_1.0.23 拉取 git clone https://github.com/durban89/webpack4-react16-reactrouter-demo.git cd webpack4-react16-reactrouter-demo git fetch origin git checkout v_1.0.23 npm install Jest有很多特定的功能,可以作为单独的包来使...

0
0
发表了博客
2019/04/09 17:31

.Karma+Jasmine+karma-coverage

单元测试(模块测试)是开发者编写的一小段代码,用于检验被测代码的一个很小的、很明确的功能是否正确。通常而言,一个单元测试是用于判断某个特定条件(或者场景)下某个特定函数的行为。 Karma是一个基于Node.js的JavaScript测试执行过程管理工具( Test Runner ).。该工具可用于测试所有主流Web浏览器, 也可集成到CI ( Continuous integration ) 工具, 也可和其他代码编辑器一起使用.。这个测试工具的一个强大特性就是, 它可...

0
0
发表于软件架构专区
2020/03/13 11:36

01、Jest简介

# 01、Jest简介 >Jest是 Facebook 的一套开源的 JavaScript 测试框架, 它自动集成了断言、JSDom、覆盖率报告等开发者所需要的所有测试工具,是一款几乎零配置的测试框架。 ### 安装 >通过npm安装依赖.babel-jest、 babel-core、 regenerator-runtime、babel-preset-env这几个依赖是为了让我们可以使用ES6的语法特性进行单元测试,ES6提供的 import 来导入模块的方式,Jest本身是不支持的 npm install --save-dev jest babel-je...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
0 评论
0 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部