nx脚手架下react项目覆盖率

一,NX介绍

    构建工具是任何网络开发者的宝贵资产。目前,许多伟大的构建工具可用于所有领先的JavaScript框架。Nx是一个构建框架,它允许你在原地构建单体和脚手架完整的应用程序,就是这样一个最近越来越受欢迎的例子。

Nx将开发人员在构建应用程序时通常必须手动执行的许多步骤自动化。它包括计算缓存、依赖图和构建自动化等功能,还包括与Cypress的插件集成

二,项目覆盖率采集

1,覆盖率框架选择

     由于NX生成的项目包含了Cypress,所以我们可以使用@cypress/code_coverage插件来生成覆盖率数据。

2,生成项目集成覆盖率插件

(1)使用nx脚手架生成react项目

参考:https://nx.dev/tutorials/react-standalone-tutorial

npx create-nx-workspace@latest myreactapp --preset=react-standalone

项目结构如下:

(1)按github上面介绍的步骤,进行插件的集成操作:

(a)安装插件

npm install -D @cypress/code-coverage 或者 yarn add @cypress/code-coverage -D

(b) 添加cypresss配置文件

在项目根目录下创建文件夹cypress,同时添加如下文件:

Add to your cypress/support/index.js file,文件内容如下:

import '@cypress/code-coverage/support'

Register tasks in your cypress/plugins/index.js file,文件内容如下:

module.exports = (on, config) => {
  require('@cypress/code-coverage/task')(on, config)

  // add other tasks to be registered here

  // IMPORTANT to return the config object
  // with the any changed environment variables
  return config
}

(c)添加配置

在项目的.babelrc文件中添加如下插件,

{ "plugins": ["istanbul"] }

或是babel.config.json文件中添加如下插件:

{
  "presets": ["@nrwl/web/babel"],
  "babelrcRoots": ["*"],
  "plugins": [
    [
      "@babel/plugin-transform-typescript",
      {
        "allowNamespaces": true,
        "isTSX": true
      }
    ],
    ["istanbul"]
  ]
}

(d)运行项目yarn start,查看覆盖率数据生成的情况:

3,生成覆盖率报告

(1)通过前端覆盖率插件,将项目生成的window.__coverage__数据上传到精准测试平台指定的位置,然后将覆盖率数据文件拷贝到项目下的.nyc_output文件夹中。

(2)在项目的package.json文件的尾部添加nyc配置:

"nyc": {
  "reporter": [
    "html",
    "text-summary"
  ],
  "extension": [
    ".js",
    ".ts",
    ".tsx"
  ]
}

(3)在项目根目录下执行生成报告命令:nyc report --report=html

命令输出覆盖率汇总信息,同时生成覆盖率报告文件夹coverage.

(4)进入coverage文件夹,打开覆盖率报告。

前端覆盖率报告生成完成!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值