【问题标题】:Cypress: How do I assert against the contents of a window.fetch POST request body?赛普拉斯:我如何断言 window.fetch POST 请求正文的内容?
【发布时间】:2018-09-17 22:26:57
【问题描述】:

假设我在window.fetch 上有一个间谍进行了柏树测试,如下所示:

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

谢谢!

【问题讨论】:

    标签: javascript sinon cypress sinon-chai


    【解决方案1】:

    没有人是吗?好吧,如果其他人偶然发现了这一点,我想通了,这就是你的做法:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-21
      • 2021-12-22
      • 1970-01-01
      • 2021-01-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多