使用正则表达式断言存根函数的参数

问题描述 投票:0回答:1

我有一个存根方法,在 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')
或断言没有可变部分的对象的键/值对是可行的,但我很感激任何使用正则表达式进行断言的帮助。

regex cypress sinon assertion sinon-chai
1个回答
5
投票

它对我有用,这是一个通过的简单复制测试。

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
  })
})
© www.soinside.com 2019 - 2024. All rights reserved.