0

我正在使用Puppeteer实现测试库,并尝试使用环境变量DEBUG_PRINT_LIMIT来限制打印到控制台的 HTML 的长度,以防万一发生故障。

但是由于某些原因,变量环境只是被库忽略了......

我的项目:

包.json

{
  "scripts": {
    "test": "jest --detectOpenHandles"
  },
  "devDependencies": {
    "jest": "^26.6.3",
    "pptr-testing-library": "^0.6.4",
    "puppeteer": "^2.1.1"
  }
}

main.test.js

const puppeteer = require('puppeteer')
require('pptr-testing-library/extend')

test('Should go to the forum', async () => {
    const browser = await puppeteer.launch();
    const page = await browser.newPage();
    await page.goto("https://mkpc.malahieude.net");
    const $document = await page.getDocument();
    const $forum = await $document.getByText("Forum");
});

现在,当我运行时DEBUG_PRINT_LIMIT=10 npm test,环境变量将被忽略,因为它会打印出整个 HTML 而不是 10 个字符...

我尝试了很多东西:在 package.json 文件中设置环境变量,或者直接在代码中设置,但没有任何效果,变量只是被忽略了。

但是,如果我更改库的代码(文件 node_modules/pptr-testing-library/dom-testing-library.js),并替换process.env.DEBUG_PRINT_LIMIT || 7000process.env.DEBUG_PRINT_LIMIT || 10,那么它可以工作!所以似乎由于某种原因环境变量没有正确传递给库。

我在 Debian 机器上使用节点版本 12(我认为它不会改变任何东西)。

你能告诉我我做错了什么吗?

谢谢

4

1 回答 1

0

如果最终想通了。

它实际上是库本身的一个错误:https ://github.com/testing-library/pptr-testing-library/issues/55

于 2021-05-11T07:03:45.840 回答