2016-03-03 50 views
3

app.js如何在使用jasmine-node的節點模塊中偵聽私有函數?

function _private() { 
    console.log('_private'); 
} 

function public() { 
    console.log('public'); 
    _private(); 
} 

module.exports = { 
    public: public, 
    _private: _private 
}; 

規格/ appSpec.js

describe('test', function() { 
    it('will spy on _private', function() { 
     var app = require('../app'); 
     spyOn(app, '_private'); 
     app.public(); 
     expect(app._private).toHaveBeenCalled(); 
    }); 
}); 

_private()被調用,但間諜不工作,測試失敗。

因此,作爲問題問,我怎麼掛鉤間諜,以便它知道_private()被稱爲?或者這是不可能的?

回答

0

您可以致電_privatethis否則函數沒有定義。試試這個:

function public() { 
    console.log('public'); 
    this._private(); 
} 
相關問題