我試圖在函數(testFunc)上運行單元測試。 testFunc調用我想嘲笑的另一個函數(secondFunc)。我可以嘲笑secondFunc,以便在testFunc的上下文中調用它時,調用了spiedOn版本的secondFunc?如果不是,我應該如何重新格式化我的browserify模塊以使其可測試?使用Jasmine spyOn在Browserify模塊中模擬函數
目前的設置是這樣的:
app.js(Browserify模塊)
module.exports = (function() {
function testFunc() {
secondFunc();
}
function secondFunc(){
console.log('not mocked!');
}
return {
testFunc, secondFunc
};
})();
test.js(茉莉測試)
describe("testFunc",() => {
let app = require('./app');
beforeEach(() => {
spyOn(app, 'secondFunc');
});
it("should call secondFunc spy",() => {
app.testFunc();
expect(app.secondFunc).toHaveBeenCalled();
});
});