如何使用 cypress 存根对 graphql 的调用?

2024-01-22

我正在编写一个使用 vue-apollo 与 graphql 交互的 Vue 应用程序。我想知道是否可以存根 graphql 请求。我认为这应该有效:

  it('should access a story', function() {
    cy.server();
    cy.route('http://localhost:3002/graphql', {
      data: {
        Story: { id: 2, title: 'story title', content: 'story content' }
      }
    });

    cy.visit('/stories/2');
  });

不幸的是,我从 graphql 收到一个错误,抱怨id is an Int而不是ObjectId。我错过了什么吗?


问题是存根fetchrequests 尚未在 Cypress 中实现(Vue Apollo 正在使用它)。我最终跟随these https://github.com/cypress-io/cypress/issues/95#issuecomment-347607198指示:

  • Install github/fetch https://github.com/github/fetch
  • 将其添加到cypress/support/index.js:

.

Cypress.on('window:before:load', win => {
  win.fetch = null;
  win.Blob = null;
});

现在可以了!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 cypress 存根对 graphql 的调用? 的相关文章

  • 如何使用 Apollo 后端在 TypeScript Angular 应用程序中输入部分类型?

    编辑 我正在寻找来自 Graphql Angular 社区的权威和来源答案 以提供最佳实践示例 例如 我们在 TypeScript 中定义了一个 Person 类型 interface Person firstName string las
  • 在 javascript 中将响应正文 blob 转换为 json 或纯文本

    在我的 cypress 测试中 我提交了一个请求 在响应中 主体返回为blob 我怎样才能检查some text体内的内容 有什么办法可以转换blob into json or plain text 请参阅随附的屏幕截图 添加下面的测试代码
  • 如何使用 cypress.io 处理 PayPal 弹出窗口上的元素

    我需要自动化端到端测试 包括使用 PayPal 购买订单 此测试包括验证购买订单后出现的屏幕中的某些元素 我目前正在尝试使用 cypress io 我知道赛普拉斯建议不要访问第三方网站 https docs cypress io guide
  • Gatsby 在 graphql 查询返回后获取图像路径

    所以我用 Gatsby 和 Remark 写了一个博客网站 我的帖子结构如下 Library category name article name index md 这非常有效 使我能够制作类似的路径 category name artic
  • 如何通过 GraphQL 从 json 获取数据?

    enter code here compdata id 1 title FlexBox id 2 title Grid layout enter code here file in src data data json enter code
  • Cypress.io 如何处理异步代码

    我正在将旧的水豚测试转移到 cypress io 因为我们的应用程序正在采用 SPA 方式 在我们的案例中 我们有超过 2000 个测试 涵盖了很多功能 因此 测试功能的常见模式是让用户创建并发布报价 一开始我写了 cypress 浏览页面
  • 使用 graphql 从 github 提交统计数据

    有人可以告诉我 哪里有办法使用 graphql api 获取特定存储库的所有提交和统计信息 现在我以这样的查询结束 query viewer repository name CRM system ref qualifiedName mast
  • GraphQL 预期可迭代,但未找到字段 xxx.yyy 的迭代

    我目前正在尝试使用 NodeJS 进行 GraphQL 但我不知道为什么以下查询会出现此错误 library name user name email 我不确定是否type of my resolveLibrary是对的 因为在任何例子中我
  • 我如何在 Cypress 中使用软断言

    我已经从 npm 配置了软断言 npm i soft assert 现在我的 package josn 有 soft assert 0 2 3 我想使用软断言功能 softAssert actual expected msg ignoreK
  • 按 Gatsby 和 Contentful 中的日期过滤

    如何在盖茨比中按日期进行筛选 文档提到lt and gt运算符 当我尝试使用它们时出现错误 在 Gatsby 中按日期过滤可能很棘手 许多 API 将 JSON 格式的日期作为字符串发送 采用 ISO8601 格式 这意味着 GraphQL
  • apollo 客户端从存储中删除而不发生突变

    我需要通过 id 从本地存储中删除一条 记录 而不使用突变 因为服务器不支持突变 我尝试像这样手动访问商店 delete this apolloClient store getState apollo data 1112 这会删除记录 但是
  • 使用 JWT 通过 Asp.net core 进行 GraphQL 身份验证

    我正在使用 NET 的 GraphQL https www nuget org packages GraphQL 2 0 0 alpha 912graphql 的包 但我无法理解如何在 graphql 查询或突变中使用 JWT 进行身份验证
  • 在 Cypress 中递增和递减 的值

    我想测试 HTML 输入字段的值的递增和递减 type number 在赛普拉斯 更准确地说 我更喜欢使用箭头键来增加和减少值 但我似乎无法使用最明显的方法来实现这一点 作为一个最小的工作示例 我设置了一个 React 组件 其渲染方法如下
  • GraphQL:对象名称在解析器中定义,但不在模式中定义

    我想使用 graphql 定义一个突变 我的突变是获取一个对象作为参数 因此 我使用 GraphQLObjectType 在架构和解析器中定义了新对象 但是我收到这个错误 错误 Agreement name 在解析器中定义 但不在架构中定义
  • 通过 cypress JS 进行分页测试

    I need to test that when I select some model car as a result I have only that model in all pages So basically I do pagin
  • AWS AppSync 授权

    我计划使用 AWS Appsync 迁移 lambda 函数中的 graphQL 终端节点 该函数由 API 网关的 POST 触发 我研究 AppSync 主要是因为订阅 我无法使用 Lambda 函数创建订阅 我的身份验证机制基于 Au
  • 带有 ManyToMany 和直通表的 Graphene-django

    我的应用程序有多个多对多关系具有贯穿模型像这样 class Person models Model name models CharField class Group models Model name models CharField m
  • Amplify 和 AppSync 不更新来自多个来源的突变数据

    我一直在尝试与 AppSync GraphQL 交互 Lambda 创建 有效 更新 不更改数据 Angular 已收到创建 更新订阅 但对象为空 Angular 欺骗更新 不更改数据 AppSync 控制台 欺骗更新 不更改数据 Post
  • 石墨烯错误消息

    我想知道是否可以翻译石墨烯提供的验证错误消息 例如 未提供身份验证凭据 如下面的代码示例所示 errors message Authentication credentials were not provided locations lin
  • Apollo 客户端延迟刷新

    In Apollo Client v3React 实现 我使用钩子来使用订阅 当我从订阅接收数据时 我想重新获取查询 但前提是查询之前已执行过并且位于缓存中 有办法实现这一点吗 我首先进行惰性查询 然后在收到订阅数据时手动检查缓存 然后尝试

随机推荐