将Jest与Puppeteer一起使用:评估失败:ReferenceError:未定义cov_4kq3tptqc

问题描述 投票:0回答:1

我正在尝试用Puppeteer获取页面的描述,我有一个高阶函数,它为这个函数提供了页面对象:

export const checkDescription = async page => {
  const metaDescription = await page.$eval(
    'meta[name="description"]',
    description => description.getAttribute("content")
  );
  return metaDescription;
};

该功能按预期工作。然后,我正在使用Jest来运行测试。

const testDescription = await withPage(checkDescription)(URL);
expect(typeof testDescription).toBe("string");

我有以下错误:

  Error: Evaluation failed: ReferenceError: cov_4kq3tptqc is not defined
      at __puppeteer_evaluation_script__:2:41
      at ExecutionContext.evaluateHandle 
      at <anonymous>
      at process._tickCallback (internal/process/next_tick.js:188:7)
    -- ASYNC --
      at ExecutionContext.<anonymous> 
      at ExecutionContext.evaluate
      at ExecutionContext.<anonymous> 
      at ElementHandle.$eval
      at <anonymous>
      at process._tickCallback (internal/process/next_tick.js:188:7)
    -- ASYNC --

如果我只是将函数粘贴到jest文件中,那么它按预期工作

javascript web-scraping automated-tests jestjs puppeteer
1个回答
0
投票

在木偶操作员,在运行测试时,伊斯坦布尔插入以下内容:

 /* istanbul ignore next */cov_4kq3tptqc.f[7]++;
                    cov_4kq3tptqc.s[19]++;

通过将config.collectCoverage = false;添加到jest.config来修复

© www.soinside.com 2019 - 2024. All rights reserved.