如何修复“未捕获的错误:查询不再有模拟响应”

Posted

技术标签:

【中文标题】如何修复“未捕获的错误:查询不再有模拟响应”【英文标题】:How to fix "Uncaught Error: No more mocked responses for the query" 【发布时间】:2021-10-09 18:36:06 【问题描述】:

当在子组件中使用查询时,如何在 Storybook 中模拟 Apollo/GraphQL 查询?

我正在尝试在 Storybook 中呈现 nextJS 页面组件。该页面组件的子组件正在使用 GraphQL 查询。我不知道这是否应该工作,但是当我在页面组件的故事中模拟那个(孩子的)查询时,我可以在屏幕底部的类似控制台的信息部分中看到模拟的值在故事书中。

但我得到一个错误:

Uncaught Error: No more mocked responses for the query: query GetSidebarInfos($clientId: ID!, $walletId: ID!) 
  client(id: $clientId) 
    fullName
    previousLoginAt
    __typename
  
  wallet(id: $walletId) 
    state
    allowedToInvite
    allowedToBeInvited
    __typename
  

我不确定__typename 来自哪里,但我已经阅读过它,并且在模拟响应中为其提供值并没有改变任何东西。

是否可以像这样模拟嵌套查询?

【问题讨论】:

【参考方案1】:

事实证明,问题不在于查询发生在子组件中。从测试的角度来看,这很明显,但我没有那样看。 问题是我必须确保调用查询的参数/变量与我在模拟中提供的匹配。再一次,很明显,但我只是没看到。

【讨论】:

以上是关于如何修复“未捕获的错误:查询不再有模拟响应”的主要内容,如果未能解决你的问题,请参考以下文章

如何修复drv?

如何修复 npm 审计修复问题?

如何修复WMI

如何修复AppScan漏洞

如何在DOS环境下修复系统

如何修复这些漏洞? (npm audit fix 无法修复这些漏洞)