モカ、リクエスト、SHA1 ハッシュを使用して統合テストを作成し、Express から提供されるファビコンがファイル システムのものと同じであることを確認しようとしています。2 つの異なるハッシュを取得しましたが、その理由がわかりません。エンコーディングが変更されている可能性はありますか?
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0" // Avoids DEPTH_ZERO_SELF_SIGNED_CERT error for self-signed certs
var request = require("request");
var crypto = require('crypto');
var fs = require('fs');
var favicon = crypto.createHash('sha1').update(fs.readFileSync(__dirname + '/../../public/img/favicon.ico')).digest('hex');
var app = require("../../server.js");
var expect = require('expect.js');
describe("Static tests", function () {
it("responds successfully", function (done) {
request.get("https://localhost:" + process.env.PORT + "/favicon.ico", function (err, res, body) {
// console.log(res)
expect(res.statusCode).to.be(200);
done();
});
});
it("serves out the file correctly", function (done) {
request.get("https://localhost:" + process.env.PORT + "/favicon.ico", function (err, res, body) {
// console.log(res)
expect(crypto.createHash('sha1').update(body).digest('hex')).to.be(favicon);
done();
});
});
});
テスト 1 に合格すると、次のようになります。
HTTP経由で送信された場合とファイルシステムから読み取られた場合で、同じファビコンのハッシュが異なる理由はありますか?