모카를 사용하여 엔드 투 엔드 HTTP 테스트를 요청할 수 있습니다. 다음은 app.js가 서버를 실행하는 예입니다.
process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0'; // Avoids DEPTH_ZERO_SELF_SIGNED_CERT error for self-signed certs
var request = require('request').defaults({ encoding: null });
var fs = require('fs');
var expect = require('expect.js');
var app = require("../../app.js");
var hash = function (file) { crypto.createHash('sha1').update(file).digest('hex') };
describe('Static tests', function() {
it('should serve out the correct favicon', function (done) {
var favicon = fs.readFileSync(__dirname + '/../../../public/img/favicon.ico');
request.get('https://localhost:' + process.env.PORT + '/favicon.ico', function (err, res, body) {
expect(res.statusCode).to.be(200);
expect(hash(body)).to.be(hash(favicon));
done();
});
});
});