首页 文章

赛普拉斯:我如何断言window.fetch POST请求体的内容?

提问于
浏览
1

所以说我在 window.fetch 上有一个带有 Spy 的柏树测试,就像这样:

describe('My test', () => {
beforeEach(() => {
    cy.visit('http://localhost:3000', {
        onBeforeLoad(win) {
            cy.spy(win, 'fetch')
        },
    })

我可以声明POST请求有一个像这样的URL:

cy.window().its('fetch').should('be.calledWith', 'http://whatever.com/stuff')

但我无法弄清楚如何断言该请求的主体 . 例如,我如何断言它包含 my_param=10

谢谢!

1 回答

  • 1

    没有人呃?好吧,如果有其他人偶然发现这一点,我想出来了,这就是你如何做到的:

    cy.window().its('fetch').should(
      'be.calledWithMatch', 
      'http://your-url.com/here', 
      sinon.match.has('body', sinon.match('your_param=expected_value')))
    

    请记住将sinon作为单独的依赖项导入 .

    您可以多次使用此行来断言多个变量 .

相关问题