나는 내 컨트롤러에서 사용하고자하는 데이터 집합을 리턴하는 DataContext 서비스를 가지고 있습니다. 이 데이터는 ng-grid 지시문에 사용됩니다. 그리드 옵션은 GridOptionsService에서 제공합니다.AJAX 데이터를 이용한 각도 재스민 단위 테스트
이 모든 것은 정상적으로 작동하지만 모든 것이 작동하는지 확인하고 확인하기 위해 단위 테스트를 작성하려고합니다.
describe('Grid display test', function() {
var $scope, elm, oCtrl;
beforeEach(module('ngGrid'));
beforeEach(inject(function ($rootScope, $compile, $controller,DataContext,GridOptionsService) {
$scope = $rootScope.$new();
$scope.gridOptions = GridOptionsService.getGridOptions('documents');
$scope = $rootScope;
elm = angular.element('<div ng-grid="gridOptions"></div>');
oCtrl = $controller('Repository',{$scope: $scope});
$compile(elm)($scope)
DataContext.getDocuments().then(function(data){
$scope.myData = data;
console.log('here are the grid options: ')
console.log($scope.gridOptions);
})
}));
it('should display rows',function(done){
inject(function($rootScope, $compile, $controller, DataContext,GridOptionsService){
$rootScope.$apply(function(){
DataContext.getDocuments().then(function(data){
expect(data.length).toBe(1000);
done();
})
})
})
})
});
DataContext.getDocuments는 약속을 반환하고 난 컨트롤러의 myData
변수를 설정하는 것을 사용한다. 이 데이터는 그리드의 데이터입니다. $scope.gridOptions = GridOptionsService.getGridOptions('documents');
gridOptions는 단순히 서비스에서 반환 된 JS 개체입니다. 테스트를 실행할 때 다음과 같은 오류가 발생합니다. Error: [$injector:unpr] Unknown provider: DataContextProvider <- DataContext
사양 러너에 포함되어야하는 모든 스크립트가 있으며 코드는 작동하지만 필자는 테스트 방법을 모르겠습니다.
Jasmine을 사용하여 DOM의 모양을 변경하는 AJAX 코드를 테스트하려면 어떻게해야합니까?