başarılı olduğunu ve o inşaat büyük, ama bir dosya indirme başarılı olup olmadığını test etmek anlamaya olamaz. Benim yolları iseTest eğer indirme Ben <a href="https://github.com/visionmedia/supertest">supertest</a> ile benim API uç noktaları test ediyorum Supertest
i olmaya son nokta tanımladık file:
app.get('/api/attachment/:id/file', attachment.getFile);
ve fonksiyon getFile()
şöyle görünür: benim test dosyasında, Sonra
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);
}
, ben aşağıdakileri deneyin :
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();
});
});
});
Dosyada bulunduğundan emin olduğumdan eminim, çünkü 0 çıkış yapılıyor.. Manuel olarak denediğimde de iyi çalışır, ancak bazı nedenlerle mocha Error: expected 200 "OK", got 404 "Not Found"
değerini döndürür.
Farklı mime türleri ve en iyi .set("Accept-Encoding": "*")
deneylerini denedim, ancak hiçbir şey işe yaramıyor.
Bunu nasıl yapacağını bilen var mı?
0 0 0 Dosyayı 404 hata sayfası olarak gönderiyorsanız merak ediyorum. – Arcath
@ mart0903, bu soruna bir çözüm buldunuz mu? –
Tam hatanın ne olduğunu görmek için isteğe bağlı geri arama işlevini 'res.download' ekleyebilirsiniz. Benim tahminim bu hatayı almanızdır çünkü res.download genellikle kullanıcının eki indirmesi için kullanıcıyı bilgilendirmesi için tarayıcıyı yönlendirir ve programsal olarak yaptığınız için kullanıcıyı sormanın bir yolu yoktur. – Quy