gpt4 book ai didi

node.js - 我如何忽略某些域作为 nock.back 的记录?

转载 作者:行者123 更新时间:2023-12-05 06:54:37 27 4
gpt4 key购买 nike

我在我的项目中使用 nock.back 作为 mocha 测试的一部分。

即使我已经设置了 nock.enableNetConnect,nock.back 仍然会记录对域的传出调用。

const nock = require('nock')
const path = require('path')

nock.back.fixtures = path.join(__dirname, 'fixtures')

// use recorded nocks, and record new nocks - don't remove
nock.back.setMode('record')
nock.enableNetConnect(/(vault|localhost|schema-registry)/)
const noBodyMatching = scope => {
scope.filteringRequestBody = (_body, recordedBody) => recordedBody
nock.enableNetConnect(/(vault|localhost|schema-registry)/)
}

const defaultOptions = {
before: noBodyMatching
}

const nockBack = (fixture, options) => {
let nockDone
beforeEach(async function() {
// eslint-disable-next-line
;({ nockDone } = await nock.back(fixture, {
...defaultOptions,
...options
}))
})

afterEach(function() {
nockDone()
})
}

module.exports = {
nockBack,
defaultOptions
}

我仍然会收到如下错误:

No match for request {\n  \"method\": \"GET\",\n  \"url\": \"http://schema-registry:3000/find-schema-by-routing-key/event.serviceability.offers.retry.queued\"

查看一些现有/已关闭的问题,我发现了以下但没有任何运气: https://github.com/nock/nock/issues/484#issuecomment-191822034

有人知道如何让 nock.back 忽略某些域吗?或者这是不可能的?

最佳答案

以下是我如何设置 nock back 以仅记录一个域:

const { nockDone } = await nock.back('export.json', {
before: (def) => {
def.scope = 'https://somedomain.com';
},
});

关于node.js - 我如何忽略某些域作为 nock.back 的记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65500328/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com