Невозможно получить мою голову вокруг углового, силона и обещаний. Если мне нужно, чтобы проверить что-то вроде этого:Угловые, Синоны, обещания
myCtrl.js
angular.module('app')
.controller('myCtrl', ($scope, dataService)=> {
dataService.list('location').then((lst)=> {
$scope.list = lst;
});
});
myCtrl-spec.js
describe('testing controller',()=> {
var locations = ['A','B','C'], dataService, $scope;
beforeEach(module('app'));
beforeEach(inject($controller, $rootScope, _dataService_, $q) => {
dataService = _dataService_;
$scope = $rootScope.$new();
let lstStub = sinon.stub(dataService,'list');
let promise = $q.defer();
lstStub.withArgs('location').returns(promise);
}));
it('gets locations',()=> {
$controller('myCtrl', { $scope, dataService });
$scope.$digest();
expect($scope.list).to.be.equal(locations);
})
})
Как мне сказать Sinon путь обещание получает разрешенное ?
Обратите внимание, что '$ q.defer()' возвращает объект '' отложен '', а не 'обещание'. Для этого вам нужно «отложить». –