私は現在、Sinon、Mocha、Supertestの新機能であり、テストの作成プロセスも新しくなっています。私の現在のシナリオでは、私は自分の "OTP"を検証する認証ライブラリを持っており、それがコールバック関数内で操作を実行することを確認した後です。Sinon - 認証ライブラリをスタブする方法(Authy -Twilio)
私はnullを返し、残りのコードをテストするためにコールバックをモックすることができません。以下は、私のコードスニペットです:
Controller.js
var authy = require('authy')(sails.config.authy.token);
authy.verify(req.param('aid'), req.param('oid'), function(err, response) {
console.log(err);
if (err) {
return res.badRequest('verification failed.');
}
....
私のテストは次のとおりです。
var authy = require('authy')('token');
describe('Controller', function() {
before(function() {
var authyStub = sinon.stub(authy, 'verify');
authyStub.callsArgWith(2, null, true);
});
it('creates a test user', function(done) {
// This function will create a user again and again.
this.timeout(15000);
api.post('my_endpoint')
.send({
aid: 1,
oid: 1
})
.expect(201, done);
});
});
私は基本的にコールバックに「ERR」としてnullを取得検証authyを呼びたいので、私は、コードの残りの部分をテストすることができます。
ご協力いただければ幸いです。 ありがとう
@philnashを行うことができ、あなたのテストで
、あなたは –