【问题标题】:Nock Throws 'AssertionError [ERR_ASSERTION]: Mocks not yet satisfied'Nock 抛出 'AssertionError [ERR_ASSERTION]: 模拟尚未满足'
【发布时间】:2019-03-07 14:26:08
【问题描述】:

我正在尝试使用 nock 使用以下代码模拟 URI http://102.10.10.337:9391/v2.0/networks

const allowUnmocked = { allowUnmocked: true };

const networkScope = nock('http://102.10.10.337:9391/v2.0/', allowUnmocked)
.persist();

console.log(networkScope);

let checknock = networkScope.post('/networks')
    .reply(200, (uri, networkPayload) => {
        console.log('dockedd');
        return {
            network: {
                'provider:physical_network': null,           
                mtu: 1450
            }
        };
    });

try {
    checknock.done();
} catch (e) {
    console.log(`boom! -> ${e}`); // pass exception object to error handler
} 

运行时,我收到以下错误:

AssertionError [ERR_ASSERTION]: Mocks not yet satisfied

【问题讨论】:

    标签: node.js unit-testing nock


    【解决方案1】:

    可能与重复使用 / 有关。

    const networkScope = nock('http://102.10.10.337:9391/v2.0', allowUnmocked)
    // ...
    const checknock = networkScope.post('/networks')
    

    【讨论】:

    • const networkScope = nock('102.10.10.337:9391/v2.0', allowUnmocked);我改变了它,但它仍然抛出同样的错误:(
    • 我能够锁定 URL
    • 你改变了什么?你能发布一个答案吗?
    • 如果其他人点击了这个,你可以在 nock() 实例上使用 .log(console.log) 来查看发生了什么以及什么被击中或没有被击中。这解决了我的问题。
    • 日志功能在新版本的 nock 上不再可用,例如v13.0.0 但您可以将 DEBUG 环境变量设置为 nock。* 如此处所述github.com/nock/nock#debugging 以记录匹配过程的每个步骤。
    猜你喜欢
    • 2022-01-16
    • 2017-07-02
    • 1970-01-01
    • 2021-12-23
    • 1970-01-01
    • 1970-01-01
    • 2021-02-21
    • 2021-05-02
    • 2014-10-21
    相关资源
    最近更新 更多