我正在使用 nock,我正在尝试删除某些主机名的拦截器。
我试过使用:
nock.removeInterceptor({
hostname: 'somehostname.com',
proto: 'https',
path: '/',
}),
当我打印这个结果时,它实际上给了我 true
我也试过:
const mock = nock(somehostname.com)
.persist()
.post('/endpoint')
.reply(200);
nock.removeInterceptor(mock)
但不知何故这给了我假。
我检查这是否有效的方法是打印 activeMocks:
nock.activeMocks()
它仍然有我要删除的拦截器。
有人知道会发生什么吗?
最佳答案
我遇到了同样的问题,我是这样解决的:
const mock = nock(somehostname.com)
.persist()
.post('/endpoint')
.reply(200);
nock.removeInterceptor(mock.interceptors[0])
mock.interceptors
是为此作用域注册的所有拦截器对象的数组,因此我获取了最近创建的作用域并将其从箭尾中移除。
关于node.js - 无法使用诺克移除拦截器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57073358/