Javascript 针对fs.readFile的Mocha测试
我的服务器代码有一个简单的路由,我需要发送一个小缩略图(jpeg)到客户端进行显示。下面是代码示例:Javascript 针对fs.readFile的Mocha测试,javascript,node.js,mocha.js,chai,node.js-stream,Javascript,Node.js,Mocha.js,Chai,Node.js Stream,我的服务器代码有一个简单的路由,我需要发送一个小缩略图(jpeg)到客户端进行显示。下面是代码示例: router.get('/thumbnail/:title/',function(req,resp){ let title = req.params.title; getFileName(title).then(thumbnailCb,errorCb); function thumbnailCb(jpeg){ fs.readFile(jpegFile,
router.get('/thumbnail/:title/',function(req,resp){
let title = req.params.title;
getFileName(title).then(thumbnailCb,errorCb);
function thumbnailCb(jpeg){
fs.readFile(jpegFile,sendJpegFile);
}
function sendJpegFile(err,data){
if ( err ) {
fs.readFile(DEFAULT_THUMBNAIL,sendDefault);
} else {
resp.send(data);
}
};
function sendDefault(err,data){
if ( err ) {console.log(err);}
else { resp.send(data); }
};
function errorCb(error){
console.log(error);
};
});
我试着在摩卡咖啡里测试一下。我的第一个想法是比较缓冲区,显然,我不是唯一一个这样想的人:
所以,这是行不通的。以下是我的摩卡/柴代码。摩卡挂起断言调用。有人对测试这条路线有什么建议吗
it('should get a thumbnail for from a title',function(done){
const DEFAULT_THUMBNAIL = /* some default file */;
const titleNotFound = /* some random title */;
request(app)
.get(URL + '/thumbnail/' + titleNotFound)
.expect(200)
.expect('Content-Type','application/octet-stream')
.end(function(err,res){
fs.readFile(DEFAULT_THUMBNAIL,'utf-8',function(err,data){
if(err){done(err);}
assert(data.toString(),res.text.toString()); // No bueno
done();
});
});
});