【发布时间】:2020-01-17 03:43:18
【问题描述】:
目前在我的一个应用程序中,我正在使用 nock 来模拟我的 api 请求。不幸的是,在同一个项目的另一个测试文件中,我使用了 dotenv。如果我使用 dotenv,我的 nock 不是在模拟 url,它使用的是原始 api要求。 任何建议或帮助表示赞赏。 我的测试文件
'use strict';
const assert = require('assert');
const nock = require('nock');
describe('example', () => {
afterEach(async() => {
nock.cleanAll();
});
describe("checktest", () => {
it("checksomeupdate", async() => {
nock('http://example.com')
.get('/demend-point')
.reply(200, {
x: 1
})
const result = await demoCallToMainFileMetho();
const [a, b] = result || []; // response array [1,2,3]
assert.ok(a.includes('1'));
});
});
});
我在测试目录中的其他文件
require('dotenv').config();
.....some code
【问题讨论】:
-
不太清楚你在问什么,你能提供最少的代码来重现这个问题吗?
-
@KrzysztofKrzeszewski 在我的 demo.test.js 中 require('dotenv'); .....如果我 nock('example.com')....some 代码它不起作用。
-
恐怕我无法访问您的
demo.test.js,而且我不知道它的内容是什么。最重要的是,我很确定这个文件可能不足以重现问题 -
@OmarFaruqueSohag,恐怕我们仍然缺少一些相关代码。您通过
require('dotenv').config()语句加载的配置是什么?demoCallToMainFileMetho方法中执行的调用是什么? -
require('dotenv').config() 有助于显示 process.env 变量,因为这些变量正在其他文件中使用。 @mgarcia
标签: javascript nock dotenv