Javascript 如何使Dotenv和Nock协同工作?

Javascript 如何使Dotenv和Nock协同工作?,javascript,nock,dotenv,Javascript,Nock,Dotenv,目前在我的一个应用程序中,我正在使用nock模拟我的api请求。不幸的是,在同一项目的另一个测试文件中,我使用了dotenv。如果我使用dotenv,我的nock不会模拟url,它使用的是原始api请求。 任何建议或帮助都将不胜感激。 我的测试文件 “严格使用”; const assert=require('assert'); const nock=require('nock'); 描述('示例',()=>{ 每次之后(异步()=>{ nock.cleanAll(); }); 描述(“检查测试

目前在我的一个应用程序中,我正在使用nock模拟我的api请求。不幸的是,在同一项目的另一个测试文件中,我使用了dotenv。如果我使用dotenv,我的nock不会模拟url,它使用的是原始api请求。 任何建议或帮助都将不胜感激。 我的测试文件

“严格使用”;
const assert=require('assert');
const nock=require('nock');
描述('示例',()=>{
每次之后(异步()=>{
nock.cleanAll();
});
描述(“检查测试”,()=>{
它(“checksomeupdate”,async()=>{
诺克http://example.com')
.get(“/demend point”)
.答复(200{
x:1
})
const result=wait democalltomainbemetho();
常量[a,b]=结果| |[];//响应数组[1,2,3]
assert.ok(a.includes('1'));
});
});
});我的问题已解决。
解决方案:我必须从我的脚本中删除dotenv包。在需要的地方,我必须用

process.env=Object.assign(process.env,
{DEMO_VARIABLE_ONE:'false'},
{DEMO_VARIABLE_ONE_URL:'value'},
{DEMO_变量_TWO:'value'}

);你问的问题并不清楚,你能提供最少的代码来重现这个问题吗?@KrzysztofKrzeszewski在我的demo.test.js require('dotenv')。。。。。如果我拒绝,我的demo1.test.js中会有一些代码('code it not wrok。我恐怕无法访问您的
demo.test.js
,我不知道它的内容。除此之外,我非常确定这一个文件可能不足以复制issue@OmarFaruqueSohag,恐怕我们仍然缺少一些相关的代码。您通过
r加载的配置是什么equire('dotenv').config()
语句?在
demoCallToMainFileMetho
方法中执行的调用是什么?require('dotenv').config()有助于在其他文件中使用process.env变量时显示这些变量。@mgarcia