玩笑+木偶戏无法获得测试报道

vit*_*y-t 4 jestjs puppeteer

我有用于通过jestpuppeteer进行自动测试的项目Excellent.js设置,该设置成功运行了所有测试,可以在Travis CI上看到

但是在进行了大量配置调整后,我无法使它报告正确的覆盖范围。无论执行什么测试,覆盖范围都不会完全反映出来。

该库仅包含一个JavaScript文件excellent.js,并且按照覆盖范围的说明设置了jest.config.js

module.exports = {
    collectCoverage: true,
    collectCoverageFrom: [
        'src/excellent.js'
    ],
    testURL: 'http://localhost/',
    setupFiles: [
        './src/excellent.js'
    ]
};
Run Code Online (Sandbox Code Playgroud)

这是所有测试,如果您先进行npm install,然后再进行,都将通过npm test

那我想念什么呢?为什么我无法正确报告承保范围?

Bri*_*ams 5

问题

大多数测试都使用Puppeteer,并且在Puppeteer提供的浏览器中执行代码时,该代码执行未反映在Jest代码覆盖率报告中。

这些测试都不需要Puppeteer,因此我将它们重构为Jest测试。现在,代码覆盖率是准确的,并且当前为:

excellent.js | 63.47 | 48.7 | 57.78 | 62.96

通过这些更改创建了请求请求

附加信息

现在可以为Puppeteer页面生成代码覆盖率报告,并且有一个库可以帮助在Instanbul中查看它们,但是这些代码覆盖率报告是独立于Jest生成的。

为了在Puppeteer页面中进行测试并使这些测试的覆盖范围反映在Jest生成的报告中,需要将Puppeteer页面覆盖率报告与Jest覆盖率报告合并。