【发布时间】:2019-06-07 06:54:05
【问题描述】:
我正在使用 Cypress 编写端到端测试,我想对我的应用程序发出的网络请求进行存根。具体来说,我想删除多个在正文中具有参数的 POST 请求,并根据这些参数更改我的模拟响应。
我想做类似的事情
cy.route({
method: "POST",
url: "/todos/add"
params: {
"urgency": 3,
"stakeholder_id": "SKH001"
},
response: "fixture:add1.json",
})
cy.route({
method: "POST",
url: "/todos/add"
params: {
"urgency": 1,
},
response: "fixture:add2.json",
})
但是看完之后 https://docs.cypress.io/guides/guides/network-requests.html 和 https://docs.cypress.io/api/commands/route.html#Arguments,我看不到检查被存根的请求中的参数的受支持方法。
我可以通过将函数传递给cy.route 的onRequest 参数来完成此操作吗?如果是这样,我会从那个告诉赛普拉斯“这条路线实际上不处理这个请求”的函数返回什么?
【问题讨论】:
-
所以你想根据body返回不同的fixture?请参阅 docs.cypress.io/api/commands/route.html#With-Stubbing 中的 “响应函数” 示例 - 您在
routeData中需要什么? -
我相信响应函数只会触发一次,而不是每条路线。
-
请原谅我的无知,参数是否重要以便您可以返回不同的响应?
-
@Maccurt 是的,将更新问题以使其更清楚。