Cypress 拦截等待,没有请求发生

问题描述 投票:0回答:1

我很难尝试从与前端不同的端口模拟一个简单的 api 请求。 下面的代码正在返回:

Timed out retrying after 5000ms: cy.wait() timed out waiting 5000ms for the 1st request to the route: convos. No request ever occurred.

cy.intercept("GET", "http://localhost:4000/conversations", {
  fixture: "conversations.json",
}).as("convos");

cy.visit("http://localhost:3000/conversations");

cy.wait("@convos").then((req) => {
  console.log(req);
});

知道我在这里可能做错了什么吗?

javascript cypress e2e-testing
1个回答
0
投票

有时候完整的URL匹配不正确,但是可以在拦截里面区分端口3000和4000

使用

**
前缀来捕获两个端口调用,并将别名动态分配给端口 4000 调用。

cy.intercept(`**/conversations`, (req) => {
  if (req.url.startsWith('http://localhost:4000') {
    req.alias = 'convos')
    req.reply({
      fixture: 'conversations.json'
    })  
  }
})
© www.soinside.com 2019 - 2024. All rights reserved.