olarak adlandırılması AngularJS denetleyicisinde, başlatma sırasında çağrılan bir yöntem var. Jasmine ("jasmine-core": "^2.3.4", "karma": "^0.12.37"
) kullanarak test etmek istiyorum. İnternet ve StackOverflow ile ilgili bazı soruları takip ediyorum ama doğru cevabı bulamıyorum. testler, hata mesajı sonraYasemin denetleyici testi, beklenen casusun
(function() {
'use strict';
describe('usersAddUserControllerUnitTest', function() {
var scope, deferred, objectUnderTest, mockedAddUserService;
beforeEach(module('app'));
beforeEach(inject(function ($rootScope, $q, $controller) {
scope = $rootScope.$new();
function emptyPromise() {
deferred = $q.defer();
return deferred.promise;
}
mockedAddUserService = {
getCountryPhoneCodes: emptyPromise
};
objectUnderTest = $controller('usersAddUserController', {
$scope: scope,
usersAddUserService: mockedAddUserService
});
}));
it('should call getCountryPhoneCodes method on init', function() {
//when
spyOn(mockedAddUserService, 'getCountryPhoneCodes').and.callThrough();
deferred.resolve();
scope.$root.$digest();
//then
expect(mockedAddUserService.getCountryPhoneCodes).toHaveBeenCalled();
});
});
}());
:
Kontrolör usersAddUserController
:
(function() {
'use strict';
angular.module('app.users.addUser')
.controller('usersAddUserController', ['$scope', 'usersAddUserService', function ($scope, usersAddUserService) {
usersAddUserService.getCountryPhoneCodes().then(function (phoneCodes) {
$scope.phoneCodes = phoneCodes;
});
}]);
}());
Yasemin testi bu kodu bir göz atın lütfen
PhantomJS 1.9.8 (Windows 7 0.0.0) usersAddUserControllerUnitTest should call getCountryPhoneCodes method on init FAILED
Expected spy getCountryPhoneCodes to have been called.
I Belli ki bir şey eksik, ama ne olduğunu anlayamıyorum. Herhangi bir yardım takdir edilecektir.
Böyle alay sağlayabilir
Cevabınız için teşekkür ederiz, ancak maalesef hala kodunuzla aynı hatayı alıyor. Senin için çalışıyor mu? –
Aslında denemedim, sadece bariz bir soruna benziyordu. Denetleyici kurucunuza bir kesme noktası koyabilir ve aslında aradığı casus olup olmadığını görebilir misiniz? – Martin
Çok teşekkür ederim beyler! Gerçekten de @juunas haklıydı, şimdi BAŞARIZI aldım. Eğer juunas katılıyorum, yine de Martin cevap kabul edeceğim, bu bana çok yardımcı olur :) –