2017-12-07 28 views
1

나는 기능을위한 스텁 nodemailer 수송 난에 대한 테스트를 원하십니까? 이 post을 찾았지만 실제로하려는 것을 적합하지 않습니다.노드 테스트

나는 send 부분을 자신의 기능으로 옮길 수 있으며, 정말로해야한다면 그 부분을 스텁 (stub) 할 수있다. 그러나 그 경로로 갈 필요가 없다면 좋을 것이다.

답변

0

이 예는 나를

======== myfile.js ========

// SOME CODE HERE 

transporter.sendMail(mailOptions, (err, info) => { 
    // PROCESS RESULT HERE 
}); 

======== myfile을 위해 잘 작동합니다. spec.js (단위 테스트 파일) ========

const sinon = require('sinon'); 
const nodemailer = require('nodemailer'); 
const sandbox = sinon.sandbox.create(); 

descript('XXX',() => { 
    it('XXX', done => { 
    const transport = { 
     sendMail: (data, callback) => { 
     const err = new Error('some error'); 
     callback(err, null); 
     } 
    }; 
    sandbox.stub(nodemailer, 'createTransport').returns(transport); 

    // CALL FUNCTION TO TEST 

    // EXPECT RESULT 
    }); 
});