I need to verify a given error message appears in the dev console when a given attribute is missing from an initialization JSON.
So far, I have set up a spy to watch over the win.console.error:
const onBeforeLoad = win => {
cy.spy(win.console, 'error').as('consoleError');
}
And in my test, the assertion:
cy.get('@consoleError').should('have.been.calledWith', 'aGivenErrorMsg');
The test would fail as the actual error message I could see from Cypress log has additional texts which is appended by Cypress, the whole error text message is:
aGivenErrorMsg at consoleError [as error] (https://test.com/__cypress/runner/cypress_runner.js:123270:26)
And this additional appended text would make my test fail.
The most efficient way to make my test work is to somehow verify that the error message generated by Cypress contains the error message I am interested in.
How do I do it?
Try using
calledWithMatchinstead ofcalledWith.For reference:
Assert argument of stubbed function with regex
Sinon assertions