gpt4 book ai didi

node.js - 如何使用 Mocha 和 Nock 重新测试相同的 URL?

转载 作者:IT老高 更新时间:2023-10-28 23:23:31 26 4
gpt4 key购买 nike

我正在使用 Mocha、Chai、Sinon、Proxyquire 和 Nock。

对于这个特定的测试场景(正在询问这个问题),希望多次测试完全相同的 URL,每次都在一个单独的测试中,期望得到不同的响应。

例如,没有商家 Feed、1 个商家 Feed 和 2 个商家 Feed 的响应。

现有代码都可以正常工作,此外,如果我单独运行测试,它们会通过。

但是,如果我在一个套件中使用 Mocha 一起运行它们,它们就会失败。相信问题在于 Nock 劫持了给定 URL 的全局 http 对象,并且每个测试(同时异步运行)都在竞争相同的全局响应引用。

在上述场景中,使用 1 个商家的预设回复准备的响应被设置覆盖以响应 2 个商家等。

是否有避免这种情况发生的机制,例如保证异步 Mocha 测试用例的串行执行(我认为这是默认行为)。

最佳答案

针对您的第 2 点),您可以使用 nock.cleanAll() 清理所有准备好的 nocks:

https://github.com/pgte/nock#cleanall

您可以将它放在 afterEach block 中,以确保您在测试之间没有剩余的 nocks。

afterEach ->
nock.cleanAll()

关于node.js - 如何使用 Mocha 和 Nock 重新测试相同的 URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24553154/

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