我正在使用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 || 7000
为process.env.DEBUG_PRINT_LIMIT || 10
,那么它可以工作!所以似乎由于某种原因环境变量没有正确传递给库。
我在 Debian 机器上使用节点版本 12(我认为它不会改变任何东西)。
你能告诉我我做错了什么吗?
谢谢