1
익스프레스 앱에 별도의 서버로 나가는 요청을 한 다음 클라이언트에게 반환 된 응답을 보내는 미들웨어 기능이 있습니다.익스프레스에서 미들웨어 테스트를위한 스터 빙 요청 응답
그래서 좀 일이 : 나는 유닛 테스트를 작성에서 찾고 밖으로 조롱하고 이러한 기능을 withing에 보내는 요청이 발사됩니다 때 내 자신의 응답을 반환하고 싶은
var request = require('request'),
helpers = require('./helpers.js');
//GET
module.exports.fetch = function(req, res) {
var options = helpers.buildAPIRequestOptions(req);
request(options, function(err, response, body){
res.status(response.statusCode).send(body);
});
};
.
나는 supertest을 가로 질러 온과 너무 같은 스위트 쓰기에서 이동이 있었다 : 내가 여기 sinon 뭔가를해야한다고 생각
var app = require('./index.js'),
request = require('supertest')(app),
should = require('should');
//GET
describe('GET requests', function(){
it('should do something', function(done){
request
.get('/api/schemes')
.expect(200, done)
.end(function(err, res){
// console.log(res);
// console.log(err);
res.status.should.equal(200);
});
});
});
을, 그래서 난 내 미들웨어 기능을 칠 것이다 요청에 스파이 수 내 선택의 응답을 반환합니다. 나는 스터 빙을 테스트에 추가하는 방법을 이해하기 위해 고심하고있다.
누군가 더 조언 해주실 수 있습니까?
감사
외부 웹 요청을 조롱하는 데 노크를 사용합니다. –
제안을 주셔서 감사합니다. 분명히 사용의 무언가처럼 보입니다. 예를 들어 내 OP에서 공유 한 예를 사용하는 방법을 알아 내려고했습니다! :) – mindparse
@mindparse는 요청 전에'nock.recorder.rec();'를 던져서 콘솔에있는 응답을 조롱하는 코드를 얻을 것이다. – Gant