"Failed to write coverage reports:ERROR: Error: EEXIST: file already exists, mkdir..."

本文解决了一个在配置Vue的jest单元测试时遇到的错误,即在尝试写入覆盖率报告时因文件已存在而失败的问题。通过调整jest.config.js中collectCoverageFrom的配置,从全路径匹配更改为仅针对src目录下的.js和.vue文件进行覆盖率收集,同时排除main.js、router/index.js和node_modules目录。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

配置 vue 的 jest 单元测试时报错如下:

 Failed to write coverage reports:
        ERROR: Error: EEXIST: file already exists, mkdir 'xxx\tests\coverage\vue-cli-3\dist\js'
        STACK: Error: EEXIST: file already exists, mkdir 'xxx\tests\coverage\vue-cli-3\dist\js'
    at Object.mkdirSync (fs.js:738:3)
    at sync (xxx\node_modules\mkdirp\index.js:71:13)
    at sync (xxx\node_modules\mkdirp\index.js:77:24)
    at sync (xxx\node_modules\mkdirp\index.js:78:17)
    at sync (xxx\node_modules\mkdirp\index.js:78:17)
    at sync (xxx\node_modules\mkdirp\index.js:78:17)
    at sync (xxx\node_modules\mkdirp\index.js:78:17)
    at sync (xxx\node_modules\mkdirp\index.js:78:17)
    at sync (xxx\node_modules\mkdirp\index.js:78:17)
    at sync (xxx\node_modules\mkdirp\index.js:78:17)

百度、谷歌没有无果。后来修改了 jest.config.js 里的 collectCoverageFrom 匹配规格解决问题。

// jest.config.js
model.export={
  // ...
    collectCoverageFrom: [
      '**/*.{js,vue}',
      '!**/node_modules/**'
   ],
  // ...      
}

改成

// jest.config.js
model.export={
  // ...
    collectCoverageFrom: [
       'src/**/*.{js,vue}',
        '!src/main.js',
        '!src/router/index.js',
        '!**/node_modules/**'
   ],
  // ...      
}

 

转载于:https://www.cnblogs.com/fiy-noob/p/10065445.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值