2016-09-13 69 views
2

我有一個模塊中的兩個功能:如何在功能間諜從另一個模塊

export function foo() { 
    console.log('foo'); 
} 

export function bar() { 
    foo() 
} 

現在我想測試bar(),在foo()設置spy並斷言它被調用。這怎麼能實現?

+2

只是一個想法.....怎麼樣使用面向方面編程? – GibboK

+0

你是指「間諜」? – Xotic750

+0

@ Xotic750其實,我的意思是這個http://sinonjs.org/docs/#sinonspy –

回答

1

編輯/更新:抱歉有酒吧和foo倒退。 模塊當前的結構。

執行代碼時,功能欄中的條形參考會根據本地實現進行解析。你不能修改它,因爲它不在模塊代碼中。無法訪問間隔。

你有沒有嘗試過使用這樣的代碼作爲測試文件?

let obj = {}; 
obj.bar = function() { 
this.foo(); 
} 

obj.foo = function() { 
... 
} 

export default obj; 
+0

感謝您的回答,但問題是在我的測試中導入的函數不是我的模塊中調用的。它們是不同的例子,所以它不會給我任何結果。 –

+0

我知道你在編輯的答案中提出的方法,我也知道窺探原型方法的方法,但是如果有辦法只用函數來做,我就會徘徊。 –