在我原来的功能中,我需要在同一个沙发登录中向 2 个不同的数据库发出 2 个请求。
var cloudant = require('cloudant')(https://cloudant_url);
var userdb = cloudant.db.use('user');
var addrdb = cloudant.db.use('address');
function onChange(username) {
userdb.get(username, function(err,resp) {
var user_id = resp.id;
addrdb.get(user_id,function(err1,resp1){
var addr = resp1.address;
});
});
};
var nockVar = function() {
nock(testCloudantDBURL)
.get('/user/jack')
.reply(200,{'id' : 123});
nock(testCloudantDBURL)
.get('/address/123')
.reply(200,{'address':'123});
};
describe('Test Cloudant Listener code' , function() {
nockVar();
it('test get scenario', function() {
onChange('jack');
});
});
有了这个,只有第一次调用有效,我可以获得 id:123。地址 db 上的第二次调用没有被拦截。
使用 nock 我只能拦截第一个电话,第二个电话没有发生。任何指针?