首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Nock没有在用Middy包装的函数中工作

Nock没有在用Middy包装的函数中工作
EN

Stack Overflow用户
提问于 2020-04-20 23:29:37
回答 1查看 154关注 0票数 0

我正在开发一个使用middy的项目,我们已经设置了一个自定义中间件来验证用Auth0发送的auth令牌。作为这个过程的一部分,Auth0发出了一个外部请求。我一直在使用诺克来模拟这些请求。我所发现的是,如果我测试一个未包装在middy()中的函数,那么Nock将按预期工作并拦截请求。但是,如果我试图测试封装在middy()中的函数(例如,确保所有的中间件都被正确应用),那么它就失败了。我已经建立了一个非常基本的例子这里。它只测试两个函数,完全相同,一个被包装,另一个没有包装。注意,一旦函数被包装,就会发生导致Nock不能正确应用拦截器的事情。我不确定这是or还是Nock的问题。我向侏儒提出了一个问题,但到目前为止还没有听到任何消息。

任何帮助都是非常感谢的!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-21 03:45:06

我不确定这是否是您的核心问题,或者只是在您的示例回购中,但是您的测试在回购中失败的原因是,您只告诉Nock模拟一个请求,然后进行两次单独的尝试。

我可以通过添加对persisttwice的调用,或者跳过第一个测试,或者创建另一个Nock拦截器来通过测试。

看这个!-关于拦截器

当您为URL设置拦截器并使用该拦截器时,它将从拦截器列表中删除。这意味着您可以拦截对同一个URL的2个或多个调用,并在每个URL上返回不同的内容。这也意味着您必须为每个请求设置一个拦截器,否则nock将抛出一个错误,因为该URL不在拦截器列表中。如果不希望在使用拦截器时删除拦截器,则可以使用.persist()方法。

如果这不能为您解决更深层次的问题,并且您正在试图确定Nock与请求不匹配的原因,那么我建议使用调试选项

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61333738

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档