“ERROR: Cannot read property 'fileCoverage' of undefined...”


Failed to collect coverage from xxx.js
ERROR: Cannot read property 'fileCoverage' of undefined
STACK: TypeError: Cannot read property 'fileCoverage' of undefined
    at Instrumenter.instrumentSync (xxx.js:148:40)
    at exports.default (xxx.js:32:18)
    at Object.worker (xxx.js:52:80)
    at execMethod (xxx.js:90:29)
    at process.on (xxx.js:40:7)
    at process.emit (events.js:182:13)
    at emit (internal/child_process.js:811:12)
    at process._tickCallback (internal/process/next_tick.js:63:19)

在用 jest 進行項目的代碼覆蓋率測試的時候報以上錯誤,經排查,是項目之前使用了 Babel 的 istanbul 代碼覆蓋率插件,如果再開啟 jest 的 “ collectCoverage: true ” 時就會造成沖突。

解決:在 babel 的配置文件 .babelrc 里去掉插件 istanbul 的配置

// .babelrc
{
  ...
  "env": {
    "test": {
      "plugins": [ "istanbul" ] // 去掉 istanbul
    }
  }
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM