gpt4 book ai didi

javascript - 用 supertest 测试二进制响应

转载 作者:行者123 更新时间:2023-12-05 00:31:43 24 4
gpt4 key购买 nike

我正在使用 express 开发一个 API 并使用 supertest 对其进行测试.我的 API 端点正在返回 tar.gz 文件。我想测试一下文件是否正确发送并且内容是否正确。我在弄清楚如何检索数据时遇到了麻烦。我天真的方法是保存 res.text 的内容(其中 const res = request(app).get('/project/export') 到文件中,解压缩并检查其内容。但简单保存 res.text 似乎不起作用,并且提取功能无法将其识别为正确压缩的文件。

任何帮助表示赞赏。随意建议其他模块/方法如何测试快速应用程序。谢谢!

最佳答案

在 Jest 中运行测试时,设置 .responseType('blob')对请求会导致req.body成为 Buffer .
https://visionmedia.github.io/superagent/#binary
例如:

const response = await request(app)
.get('/project/export')
.responseType('blob')

await fs.promises.writeFile('export.tar.gz', response.body)

关于javascript - 用 supertest 测试二进制响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59576617/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com