jest尝试报告未测试json文件的覆盖率并抛出错误

mznpcxlj  于 2021-09-23  发布在  Java
关注(0)|答案(0)|浏览(501)

链接到replit.com上的演示,显示错误:https://replit.com/@chipit24/jestPlayground。
运行时,测试通过,但我在输出中看到以下意外错误:

Running coverage on untested files... Failed to collect coverage from foo.json
ERROR: foo.json: Missing semicolon

这是我的 jest.config.json :

module.exports = {
  collectCoverage: true,
  collectCoverageFrom: ['<rootDir>/**'],
  coveragePathIgnorePatterns: ['package.json', 'package-lock.json', 'node_modules', 'coverage'],
  transform: {
    '.+\\.json': '<rootDir>/jsonTransform.js',
  },
};

这个笑话是为 collectCoverageFrom 提及(强调我的):
如果某个文件与指定的glob模式匹配,则将为该文件收集覆盖率信息,即使该文件不存在任何测试,并且测试套件中也不需要该文件。
那很好。我有一些json文件,它们最终会出现在“collect coverage from”文件集中,但是,由于我为json文件设置了转换,所以我希望json文件能够转换为有效的js文件。这是我的 jsonTransform.js 文件:

module.exports = {
  process(src) {
    return src;
  },
};

但在收集覆盖率数据时,jest似乎会将我的json文件视为js文件,而不考虑转换。这是一个bug还是除了将所有受影响的json文件添加到 coveragePathIgnorePatterns ?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题