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

Shu*_*iro 4 regex assertion sinon sinon-chai cypress

我有一个存根方法,在赛普拉斯控制台中打印以下结构:

myMethod('start', Object{5})

我知道该对象有一个键,segmentB-> 当控制台将其记录在存根中时,我看到它,但我不想开始在存根中进行断言

我想断言,segmentB 的值以'MPI_'

我虽然将“应该通过匹配来调用”和 Cypress.sinon 断言结合起来,如下所示,但它不起作用。

 cy
        .get('@myMethod')
        .should('be.calledWithMatch', 'start', {
          segmentB: Cypress.sinon.match(/^MPI_/)
      })
Run Code Online (Sandbox Code Playgroud)

.should('beCalledWithMatch', 'start')或在没有可变部分的情况下断言对象的键/值对是可行的,但我很感激使用正则表达式进行断言的任何帮助。

Fod*_*ody 6

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

\n
it(\'uses calledWithMatch assertion\', () => {\n  \n  const wrapper = {\n    myMethod: function (param1, param2) {\n      console.log(\'Called with \', param1, param2)\n    }\n  }\n\n  cy.spy(wrapper, \'myMethod\').as(\'myMethod\')\n  wrapper.myMethod(\'start\', {segmentB: \'MPI_abc\'})\n\n  cy.get(\'@myMethod\')\n    .should(\'be.calledWithMatch\', \'start\', {\n      segmentB: Cypress.sinon.match(/^MPI_/)       // \xe2\x9c\x85 passes\n  })\n})\n
Run Code Online (Sandbox Code Playgroud)\n