首页 > 解决方案 > 赛普拉斯:新的 cy.intercept() 方法是否应该模拟不是从浏览器发送的请求的响应,而是使用 cy.request() 方法?

问题描述

我正在创建一个端到端测试,其中一些特定数据应该通过 API 使用

cy.request({
      method: "POST",
      url: ...,
      headers: {
        "X-Auth-Token": ...,
      },
      body: {
        target_url: ...,
      },
    });

现在我的 API 无法向我发送数据,所以在修复它的同时我有一个想法来模拟这个请求

  cy.intercept(
    {
      method: "POST",
      url: ...,
    },
    {
      body: {
        target_url:
          ...,
      },
    }

所以我可以将所有必要的数据设置到正文中以存根响应

但它现在对我不起作用,我仔细阅读了所有文档,但我仍然无法理解 - cy.intercept 不适用于 cy.request 或者我只是在某个地方出错了?

感谢您提供任何信息=)

标签: cypress

解决方案


推荐阅读