gpt4 book ai didi

javascript - 使用 supertest 测试下载是否成功

转载 作者:IT老高 更新时间:2023-10-28 23:03:39 27 4
gpt4 key购买 nike

我正在使用 supertest 测试我的 API 端点,而且效果很好,但我不知道如何测试文件下载是否成功。

在我的路由文件中,我将端点定义为:

app.get('/api/attachment/:id/file', attachment.getFile);

函数 getFile() 看起来像这样:

exports.getFile = function(req, res, next) {
Attachment.getById(req.params.id, function(err, att) {
[...]
if (att) {
console.log('File found!');
return res.download(att.getPath(), att.name);
}

然后,在我的测试文件中,我尝试以下操作:

describe('when trying to download file', function() {
it('should respond with "200 OK"', function(done) {
request(url)
.get('/api/attachment/' + attachment._id + '/file');
.expect(200)
.end(function(err, res) {
if (err) {
return done(err);
}
return done();
});
});
});

我确定找到了该文件,因为它会注销 File found!。如果我手动尝试它也可以正常工作,但由于某种原因,mocha 返回 Error: expected 200 "OK", got 404 "Not Found"

我尝试了不同的 mime 类型和超测试 .set("Accept-Encoding": "*"),但没有任何效果。

有人知道怎么做吗?

最佳答案

要么问题已在库中修复,要么代码的其他部分存在错误。您的示例运行良好,并给出了

  when trying to download file
File found!
✓ should respond with "200 OK"

关于javascript - 使用 supertest 测试下载是否成功,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24803215/

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