【问题标题】:Forcing Errors For Unstubbed Routes With Cypress使用 Cypress 对未存根的路由强制错误
【发布时间】:2020-06-17 20:38:43
【问题描述】:

我正在使用 Cypress 测试 Gatsby 应用/网站。它从各种页面对 api 进行多次调用。我们已经决定对所有这些请求进行存根和模拟,因此我们的测试不应该命中我们的实时 API。

如果向我们的任何 API 端点发出的请求没有被存根,我正在寻找一种出现 Cypress 错误的方法,并且我找到了 cy.serverforce404 配置参数 (docs),它强制执行为任何未存根的路由返回 404。这很好用,但实际上太好了。 Gatsby 在内部使用 XHR 来预加载其他页面(以及其他内容),这会导致所有这些页面也返回 404,从而有效地破坏了应用程序。

有没有办法将cy.server 配置为仅从特定域上未存根的路由返回 404。例如,如果我们的 api 域是api.example.com。有没有办法将cy.server 配置为仅对未存根的api.example.com 的请求返回404,而对其他域或同一域的请求保持不变。

【问题讨论】:

    标签: testing server xmlhttprequest cypress stubbing


    【解决方案1】:

    您是否尝试过加入白名单?您可以在此处添加一条规则以同时列出所有不属于您的服务器的域

    https://docs.cypress.io/api/commands/server.html#Change-the-default-whitelisting

    cy.server({
      whitelist: (xhr) => {
        // specify your own function that should return
        // truthy if you want this xhr to be ignored,
        // not logged, and not stubbed.
      }
    })
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-07-19
      • 1970-01-01
      • 1970-01-01
      • 2019-11-10
      • 1970-01-01
      • 1970-01-01
      • 2017-04-25
      • 1970-01-01
      相关资源
      最近更新 更多