0
findGood
함수에 return Promise.reject(err);
줄의 주석을 달면 테스트 케이스가 실패합니다. 내 기능에서 돌아 오지 않는다면, 테스트에서 블록은 undefined
이어야합니다. 여기 처리 약속 거부 사례 모카
var findGood = function (name) {
return goodModel.findByName(name)
.then((result) => {
....
return result;
})
.catch((err) => {
return Promise.reject(err);
});
};
테스트
it('good not found', function() {
var goodModelStub = sinon.stub(goodModel, 'findByName');
var error = 'Good not found';
goodModelStub.returns(Promise.reject(error));
return goodFinder.findGood('Sony')
.catch(function (err) {
assert.equal(err, error);
});
이다
});
'.catch ((err) => Promise.reject (err))'는 방금 제거한 경우 똑같은 동작을하기 때문에 거의 쓸모없는 문장입니다. – Frxstrem
@Frxstrem 그렇다면 어떻게해야합니까? 네가 알면 대답 해 줄래? –
당신은 진짜처럼 약속을 불러야합니다. http://stackoverflow.com/questions/26571328/how-do-i-properly-test-promises-with-mocha-and-chai –