Dav*_*ass 6 javascript testing express superagent supertest
我正在使用 express 开发一个 API 并使用supertest对其进行测试。我的 API 端点正在返回 tar.gz 文件。我想测试一下文件是否正确发送并且内容是否正确。我在弄清楚如何检索数据时遇到了麻烦。res.text我天真的方法是将(的内容保存const res = request(app).get('/project/export') 到文件中,将其提取并检查其内容。但是简单的保存res.text似乎不起作用,并且提取功能无法将其识别为正确压缩的文件。
任何帮助表示赞赏。请随意建议其他模块/方法来测试 Express 应用程序。谢谢!
在 Jest 中运行测试时,.responseType('blob')对请求的设置将导致response.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)
Run Code Online (Sandbox Code Playgroud)