Jasmine では、spyOn(object, 'function') を実行できます。「provider()」として使用されるプロバイダーをスパイしようとしています。それをスパイする方法は?
プロバイダーは次のようになります。
providers.provider('telecom', function() {
this.$get = function() {
return function() {
return 'something';
}
}
}
コントローラーでは、次のように使用されます。
controllers.controller('ctrl', function(telecom) {
var isp = telecom();
});
object.method() の場合、spyOn(object, 'method') を実行できます。provider() はどうですか?
私はグーグルで検索しましたが、役立つものは何も見つかりません。spyOn(provider)を試してみたのですが、「undefined()メソッドが存在しません」というエラーが出ました。
プロバイダーをモックしようとさえしましたが、成功しませんでした。( http://www.sitepoint.com/mocking-dependencies-angularjs-tests/ )