6
'use strict'
webApp.controller 'NavigationController', [
'$scope'
'$rootScope'
'UserService'
($scope, $rootScope, UserService) ->
$scope.init = ->
UserService.isAuthenticated().then (authenticated) ->
$scope.isAuthenticated = authenticated
$scope.init()
]
Ich möchte einen Test auf spyOn
schreiben, wenn isAuthenticated
von UserService
aufgerufen wurde. In meinem beforeEach
, ich habe:Wie kann ich einen Scheindienst ausspionieren AngularJS/Karma?
beforeEach ->
module 'webApp'
inject ($injector) ->
$httpBackend = $injector.get '$httpBackend'
$q = $injector.get '$q'
$rootScope = $injector.get '$rootScope'
$scope = $rootScope.$new()
$controller = $injector.get '$controller'
UserServiceMock =
isAuthenticated: ->
deferred = $q.defer()
deferred.promise
controller = $controller 'AboutUsController',
'$scope': $scope
'$rootScope': $rootScope
'UserService': UserServiceMock
$httpBackend.whenGET('/api/v1/session').respond 200
Jede mögliche Hilfe würde geschätzt .. Danke
dies setzt voraus, dass 'UserServiceMock' auf den Umfang des Tests verfügbar ist, nicht wahr? – Shamoon
yeah Sie müssten es als eine Variable außerhalb des beforeEach deklarieren – rob