我有一個模塊中的兩個功能:如何在功能間諜從另一個模塊
export function foo() {
console.log('foo');
}
export function bar() {
foo()
}
現在我想測試bar()
,在foo()
設置spy並斷言它被調用。這怎麼能實現?
我有一個模塊中的兩個功能:如何在功能間諜從另一個模塊
export function foo() {
console.log('foo');
}
export function bar() {
foo()
}
現在我想測試bar()
,在foo()
設置spy並斷言它被調用。這怎麼能實現?
編輯/更新:抱歉有酒吧和foo倒退。 模塊當前的結構。
執行代碼時,功能欄中的條形參考會根據本地實現進行解析。你不能修改它,因爲它不在模塊代碼中。無法訪問間隔。
你有沒有嘗試過使用這樣的代碼作爲測試文件?
let obj = {};
obj.bar = function() {
this.foo();
}
obj.foo = function() {
...
}
export default obj;
感謝您的回答,但問題是在我的測試中導入的函數不是我的模塊中調用的。它們是不同的例子,所以它不會給我任何結果。 –
我知道你在編輯的答案中提出的方法,我也知道窺探原型方法的方法,但是如果有辦法只用函數來做,我就會徘徊。 –
只是一個想法.....怎麼樣使用面向方面編程? – GibboK
你是指「間諜」? – Xotic750
@ Xotic750其實,我的意思是這個http://sinonjs.org/docs/#sinonspy –