我有一个存根方法,在 Cypress 控制台中打印以下结构:
myMethod('start', Object{5})
我知道该对象有一个键,
segmentB
-> 当控制台将其记录到存根中时,我看到它,但我确实不想想要开始在存根中进行断言
我想断言,segmentB 的值以
'MPI_'
开头
我虽然将“应该通过匹配来调用”和 Cypress.sinon 断言结合起来,如下所示,但它不起作用。
cy
.get('@myMethod')
.should('be.calledWithMatch', 'start', {
segmentB: Cypress.sinon.match(/^MPI_/)
})
.should('beCalledWithMatch', 'start')
或断言没有可变部分的对象的键/值对是可行的,但我很感激任何使用正则表达式进行断言的帮助。
它对我有用,这是一个通过的简单复制测试。
it('uses calledWithMatch assertion', () => {
const wrapper = {
myMethod: function (param1, param2) {
console.log('Called with ', param1, param2)
}
}
cy.spy(wrapper, 'myMethod').as('myMethod')
wrapper.myMethod('start', {segmentB: 'MPI_abc'})
cy.get('@myMethod')
.should('be.calledWithMatch', 'start', {
segmentB: Cypress.sinon.match(/^MPI_/) // ✅ passes
})
})