似乎我读到的大多数人都对此感到零麻烦。另一方面,我有一个其他人编写的测试套件,我试图用intercept() 替换route()。API 拦截是为了处理按钮点击等,如果我只是替换它,大约 99.9% 的拦截会失败。所以,显然有一些语法在/使用拦截()我还没有找到描述。
例子:
这有效:
cy.route('POST', getApiPrefix() + '/prosjektfinansiering/'+ pfId +'/eiendom', result);
这不起作用。不执行按钮单击:
cy.intercept('POST', getApiPrefix() + '/prosjektfinansiering/'+ pfId +'/eiendom', result);
我尝试在“/prosjekt ...”前面添加“**”,并且尝试删除“POST”,但没有成功。
有任何想法吗?如有必要,我很乐意发布更多信息。
更新:
进一步尝试:
在这里和那里得到一些提示,似乎这是使用intercept()的更正确的方法:
return cy.intercept('POST', getApiPrefix() + '/prosjektfinansiering/'+ pfId +'/eiendom', {
body: result
});
这也行不通。
这些示例中的变量结果是一个对象,描述了在路由中发送回 POST 请求前端的内容与 api 路径匹配。
对于故障排除,我可以看到在使用intercept() 时,使用intercept 时有一个路由不起作用(图片中的底部)。但是,我一生都无法理解为什么,以及如何以不同的方式编写路线匹配?