0
컨트롤러에 대한 서비스를 조롱하려하지만이를 작동 시키려 애쓰는 중입니다. 나는이 서비스를 조롱 제공 $ 사용하는 테스트를 작성하는 것을 시도하고있다AngularJS : 모의 컨트롤러 서비스
.controller('someController', ['SomeService', function(SomeService){
var self = this;
var data = [];
self.getSomeData = = function(){
var response = SomeService.getSomething.then(function(response){
self.data = response;
});
};
}]);
:
.factory('SomeService', ['$http'function($http) {
var someService = {};
someService.getData=function(val1, val2){
...
return someData;
}
return someService;
}
그래서 같은 컨트롤러 : 반 psudeo 코드를 사용
는나는 서비스를 . 이런 식으로 뭔가 :
var mockService
beforeEach(module(function($provide){
mockService.getSomething = function(){
return [ ....];
};
$provide.value('SomeService', mockService);
}));
이 모의를 주입하고 테스트를 실행 한 후 내가 얻을 :
형식 오류 : 정의되지 않은
의 설정할 수없는 속성 getSomething 분명히이 코드 문제 (또는 오른쪽) 있나요 ? 그들은 매우 도움이 될 수있는,
describe('Some Service', function(){
var mockService;
beforeEach(module(function($provide){
mockService = {
getSomething: function() {
return {
then: function (success, error) {
success(true);
}
};
}
};
$provide.value('SomeService', mockService);
}));
});
내가 the docs를 통해보고하는 것이 좋습니다 것입니다 :
beforeEach 함수에서? –
예. 좀 더 명확하게 대답을 업데이트했습니다. –
응답 해 주셔서 감사하지만 작동하지 않습니다. 위의 정확한 코드를 사용하면 : 정의되지 않은 'then'속성을 읽을 수 없습니다. –