javascript - 赛普拉斯:我如何断言 window.fetch POST 请求正文的内容?
问题描述
所以说我有一个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
?
谢谢!
解决方案
没人啊?好吧,如果其他人偶然发现了这一点,我想通了,这就是你的做法:
cy.window().its('fetch').should(
'be.calledWithMatch',
'http://your-url.com/here',
sinon.match.has('body', sinon.match('your_param=expected_value')))
请记住将 sinon 作为单独的依赖项导入。
您可以多次使用此行来断言多个变量。
推荐阅读
- nuxt.js - Nuxt vuex 商店没有收到 axios 请求
- javascript - 从 firebase 函数返回
- javascript - 淡入淡出背景将文字向上移动
- scala - 在 Spark scala 中,如何检查数据帧中的相邻行之间
- vba - 日期老化计算器
- visual-studio-code - 在 VS Code 中同时编辑多个文件 / 跨多个文件的游标
- git - Git push to repo,说 push to repo,说 repo 是最新的,但 repo 实际上不是最新的
- python - 像使用计算器一样使用 input() 函数是否安全?
- javascript - Web Essential 在 Visual Studio 2017 中错误地缩小了 javascript
- isabelle - 如何检验暗示的虚假性?