I, too, fell into this problem when first using cy.intercept
. The solution is to pass in a RouteMatcher
object to the method. In particular, you'll want to use the last method signature from the image below:
In the RouteMatcher
object, you can specify a path
property. Here's the description of the path
property:
In essence, using the path
property of the RouteMatcher
object does an exact match against the given string, whereas the url
parameter in the 1st and 2nd method signatures does a substring match against the given string.
So what you'll want is:
cy.intercept(
{method: 'GET', path: '/users/1'},
{body: {}}
)
cy.intercept(
{method: 'GET', path: '/users/1/profile'},
{body: {}}
)
In my opinion, this slight change from Cypress between the cy.route
and cy.intercept
methods was weird and a bit unexpected on the first run-through.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…