node.js - 为什么我的 Cypress Post 请求的请求正文为空?

标签 node.js cypress

我正在为我的 Node 后端 API 编写 Cypress 测试。该测试发送带有一些 header 和正文的 POST 请求,其中包括后端使用的一些必需参数。

奇怪的是端点只接收到一个空的request.body

这就是我的 Cypress 测试的样子,您可以看到我如何发送请求正文:

    it('onboards a repo - POST', () => {
        cy.request({
            method: 'POST',
            url: `/my/${org}/endpoint`,
            headers: headers,
            body: {
                productId: productId,
                requestorEmail: requestorEmail
            }
        }).then( (response) => {
            expect(response.status).to.eq(200);
        });
    });

编辑:这些是我要发送的 header :

    const headers = {
        'Accept': 'application/json',
        'Content-Type': 'application/json, text/plain',
        'Authorization': 'Bearer <MY_TOKEN>',
    };

知道为什么我在后端的 request.body 内没有收到任何内容吗?

最佳答案

我在 Cypress 的 Github 上看到了您的讨论,但您似乎在这里很活跃,所以我会交叉发布。

您的问题是 Content-Type header 。 Cypress 不喜欢 'application/json, text/plain',但将其更改为 'application/json' 应该可以修复它。

关于node.js - 为什么我的 Cypress Post 请求的请求正文为空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74686557/

相关文章:

javascript - 值得删除大型代码库中未使用的导入吗?

node.js - Azure 存储队列 - 空时触发

node.js - 如何使用文档客户端更新 dynamodb 中的嵌套列表数据

loops - Cypress.io 迭代元素列表以查看文本是否不存在,然后执行操作以添加元素

google-chrome-extension - 如何在 Cypress.io 中添加和使用 Chrome 扩展?

javascript - Cypress 和 cookies 弹出窗口 : how to get rid of it

javascript - 一秒内获取前一个 Promise 的结果

javascript - 在 nodejs 中测试 URL 查询字符串

testing - 在 Shopware 6.3.5.2 的生产模板中运行所有测试

javascript - 无法使用 Cypress.io 测试页脚的背景颜色,它会抛出错误