Bir süredir boşuna bir hizmeti test etmeye çalışıyorum ve bir miktar yardım etmeyi umuyordum. Ben hizmet buAngularJS servis atamalarının içinde hizmet alayının enjekte edilmesi
myModule.factory('myService', ['$rootScope', '$routeParams', '$location', function($rootScope, $routeParams, $location) {
var mySvc = {
params: {}
}
// Listen to route changes.
$rootScope.$on('$routeUpdate', mySvc.updateHandler);
// Update @params when route changes
mySvc.updateHandler = function(){ ... };
...
...
return mySvc;
}]);
gibi küçük seyir var
Ve ben test edebilirsiniz yani benim testlerde enjekte alır hizmete önce 'myService'
enjekte hizmetlerini alay etmek istiyorum: İşte benim durum başlatma kodu Tetkikler ve mocks için Jasmine'i kullanıyorum
var mySvc = {
params: {}
}
// Listen to route changes.
$rootScope.$on('$routeUpdate', mySvc.updateHandler);
altında. Bu, şu an için geldiğim şeydi. Benim rootscope alayım orijinalin yerine geçmiyor ve Bağımlılık Enjeksiyon doktoru beni her şeyden çok karıştırıyor.
Çok teşekkürler! Bir çekicilik gibi çalıştı. Bunu daha önce denemediğime inanamıyorum. –
spyOn (rootScope, "$ on") üzerinde spyOn (rootScope, "$ on") değerine değişiklik yapmak zorunda kaldım ve CallThrough(); ama harika çalıştı ve doğru yöne gitmemi sağladı. – blackmind