测试库忽略了节点环境变量
Node Environment variable ignored by testing library
我正在实施 Testing Library with Puppeteer and I was trying to use an environment variable, DEBUG_PRINT_LIMIT,以限制在出现故障时打印到控制台的 HTML 的长度。
但是由于某些原因,变量环境只是被库忽略了...
我的项目:
package.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(不过我认为它没有任何改变)。
你能告诉我我做错了什么吗?
谢谢
如果终于想通了。
实际上是库本身的错误:https://github.com/testing-library/pptr-testing-library/issues/55
我正在实施 Testing Library with Puppeteer and I was trying to use an environment variable, DEBUG_PRINT_LIMIT,以限制在出现故障时打印到控制台的 HTML 的长度。
但是由于某些原因,变量环境只是被库忽略了...
我的项目:
package.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(不过我认为它没有任何改变)。
你能告诉我我做错了什么吗?
谢谢
如果终于想通了。
实际上是库本身的错误:https://github.com/testing-library/pptr-testing-library/issues/55