2014-07-11 34 views
1

對於Jasmine測試目的,如果測試服務中的方法數量與預期的不同,我想要測試失敗。這會告訴程序員測試夾具不完整,他必須做更多的測試。如何獲取angularjs服務中的方法數量?

我該如何問一個服務有多少種方法?如果可能的話,方法名是什麼?

回答

1

我不確定你在問什麼,但如果你可以訪問服務對象, 你不能只是遍歷它的屬性並檢查它們的類型?

例如與$http服務,你可以這樣做:

var methods = []; 
for (prop in $http){ 
    if (typeof $http[prop] === "function") { 
     methods.push(prop) 
    } 
} 

那麼你有你的服務的所有方法名,你可以數得過來。

+2

示例[here](http://jsfiddle.net/przno/e9F78/1/)。看看控制檯 – przno

相關問題