我正在使用 mocha/supertest/should.js
来测试 REST 服务
GET /files/<hash>
将文件作为流返回。
我如何断言 should.js
文件内容相同?
it('should return file as stream', function (done) {
var writeStream = fs.createWriteStream('test/fixtures/tmp.json');
var req = api.get('/files/676dfg1430af3595');
req.on('end', function(){
var tmpBuf = fs.readFileSync('test/fixtures/tmp.json');
var testBuf = fs.readFileSync('test/fixtures/test.json');
// How to assert with should.js file contents are the same (tmpBuf == testBuf )
// ...
done();
});
});
原文由 hellboy 发布,翻译遵循 CC BY-SA 4.0 许可协议
令人惊讶的是,没有人建议 Buffer.equals 。这似乎是最快和最简单的方法,并且自 v0.11 以来一直存在。
所以你的代码会变成
tmpBuf.equals(testBuf)