囊压-环状覆盖
一个为 CircleCI 智能测试生成覆盖数据的 Cypress 插件.
使用量
此插件使用从浏览器收集的伊斯坦布尔代码覆盖来映射 要测试规格的源文件 .
安装插件 .
pnpm add -D @circleci/cypress-circleci-coverage
将插件添加到您的 Cypress 配置 :
将您的代码与伊斯坦布尔(例如通过) babel-plugin-istanbul 在一个
webpack 预处理器) window.__coverage__ 可在
测试执行时浏览器 .
// cypress.config.ts
import {defineConfig} from 'cypress';
import cypressCircleCICoverage from '@circleci/cypress-circleci-coverage/plugin';
export default defineConfig({
e2e: {
supportFile: './cypress/support/e2e.ts',
setupNodeEvents(on, config) {
const webpackOptions = {
module: {
rules: [
{
test: /\.ts$/,
exclude: /node_modules/,
use: {
// instrument files with the istanbul plugin.
loader: 'babel-loader',
options: {
presets: ['@babel/preset-typescript'],
plugins: [['istanbul']],
},
},
},
],
},
};
on('file:preprocessor', webpackPreprocessor({webpackOptions}));
return cypressCircleCICoverage(on, config);
},
},
});
导入您的 Cypress 支持文件中的支持文件 :
// cypress/support/e2e.ts
import '@circleci/cypress-circleci-coverage/support';
设定 CIRCLECI_COVERAGE 运行测试到时的环境变量
启用覆盖收集.
CIRCLECI_COVERAGE=coverage.json cypress run
发展
用 pnpm 安装依赖性 .
pnpm install
安装cypress.
pnpm cypress install
构建插件 .
pnpm build
运行测试.
pnpm test