两条路径的最小匹配模式,其中一条路径是另一条路径的前缀
Minimatch pattern for two paths where one is prefix of the other
我正在用 cypress 编写集成测试,但遇到了最小匹配模式的问题。
我有两个端点需要存根。
/users/1
和 /users/1/profile
.
我尝试用 cy.intercept()
模拟这两个端点的方式如下。
对于第一个 url、/users/1
,我尝试了 cy.intercept('GET', '/users/1', {})
。
对于 url , /users/1/profile
部分,我尝试了 cy.intercept('GET', '/users/1/profile', {})
.
问题是第一个模式拦截了两次。
我能得到一些帮助吗??谢谢。
我第一次使用cy.intercept
的时候也遇到过这个问题。解决方案是将 RouteMatcher
对象传递给该方法。特别是,您需要使用下图中的最后一个方法签名:
在RouteMatcher
对象中,可以指定一个path
属性。这是 path
属性:
的描述
本质上,使用 RouteMatcher
对象的 path
属性 对给定的字符串进行精确匹配,而第一个和第二个中的 url
参数方法签名对给定的字符串进行子字符串匹配。
那么您需要的是:
cy.intercept(
{method: 'GET', path: '/users/1'},
{body: {}}
)
cy.intercept(
{method: 'GET', path: '/users/1/profile'},
{body: {}}
)
在我看来,cy.route
和 cy.intercept
方法之间 Cypress 的这种细微变化很奇怪,在第一个 运行-through 中有点出乎意料。
我正在用 cypress 编写集成测试,但遇到了最小匹配模式的问题。
我有两个端点需要存根。
/users/1
和 /users/1/profile
.
我尝试用 cy.intercept()
模拟这两个端点的方式如下。
对于第一个 url、/users/1
,我尝试了 cy.intercept('GET', '/users/1', {})
。
对于 url , /users/1/profile
部分,我尝试了 cy.intercept('GET', '/users/1/profile', {})
.
问题是第一个模式拦截了两次。
我能得到一些帮助吗??谢谢。
我第一次使用cy.intercept
的时候也遇到过这个问题。解决方案是将 RouteMatcher
对象传递给该方法。特别是,您需要使用下图中的最后一个方法签名:
在RouteMatcher
对象中,可以指定一个path
属性。这是 path
属性:
本质上,使用 RouteMatcher
对象的 path
属性 对给定的字符串进行精确匹配,而第一个和第二个中的 url
参数方法签名对给定的字符串进行子字符串匹配。
那么您需要的是:
cy.intercept(
{method: 'GET', path: '/users/1'},
{body: {}}
)
cy.intercept(
{method: 'GET', path: '/users/1/profile'},
{body: {}}
)
在我看来,cy.route
和 cy.intercept
方法之间 Cypress 的这种细微变化很奇怪,在第一个 运行-through 中有点出乎意料。