赛普拉斯:如何针对window.fetch POST请求正文的内容进行断言?

时间:2018-09-17 22:26:57

标签: javascript sinon cypress sinon-chai

所以说我在window.fetch上做了一个间谍的柏木测试,像这样:

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

我可以断言POST请求具有特定的网址,如下所示:

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

但我不知道如何针对该请求的内容进行断言。 例如,我如何断言它包含my_param=10

谢谢!

1 个答案:

答案 0 :(得分:1)

没人吗?好吧,如果其他人偶然发现了这个问题,我就知道了,这是您的操作方法:

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

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

您可以多次使用此行针对多个变量进行断言。