編寫一個簡單的測試用例。茉莉花業力單元測試「錯誤:意外的請求:GET /Content/json/3420_layer0.json」
describe('Services', function() {
describe('API', function() {
var $httpBackend, $rootScope, createController, requestHandler;
var jsonLayer0 = "/Content/json/3420_layer0.json";
// Set up the module
beforeEach(module('anbud'));
beforeEach(inject(function ($injector) {
// Set up the mock http service responses
$httpBackend = $injector.get('$httpBackend');
$httpBackend.whenGET(jsonLayer0).respond(200, '');
$rootScope = $injector.get('$rootScope');
// The $controller service is used to create instances of controllers
var $controller = $injector.get('$controller');
createController = function() {
return $controller('anbudTreeController', { '$scope': $rootScope });
};
}));
afterEach(function() {
$httpBackend.verifyNoOutstandingExpectation();
$httpBackend.verifyNoOutstandingRequest();
});
it('should fetch first layer', function() {
$httpBackend.expectGET(jsonLayer0);
var controller = createController();
$rootScope.getFirstLayer();
$httpBackend.flush();
});
我得到:
Error: Unexpected request: GET /Content/json/3420_layer0.json
但是,我有:
var jsonLayer0 = "/Content/json/3420_layer0.json";
$httpBackend.whenGET(jsonLayer0).respond(200, '');
所以,不知道是什麼問題...
完整堆棧跟蹤:
Error: Unexpected request: GET test
No more request expected
at $httpBackend (C:/git/angularjs/NSview/NSviewer/Scripts/angular-mocks.js:1244:9)
at $httpBackend (C:/git/angularjs/NSview/NSviewer/Scripts/angular-mocks.js:1237:11)
at sendReq (C:/git/angularjs/NSview/NSviewer/Scripts/angular.js:10515:9)
at serverRequest (C:/git/angularjs/NSview/NSviewer/Scripts/angular.js:10222:16)
at processQueue (C:/git/angularjs/NSview/NSviewer/Scripts/angular.js:14745:28)
at C:/git/angularjs/NSview/NSviewer/Scripts/angular.js:14761:27
at Scope.$eval (C:/git/angularjs/NSview/NSviewer/Scripts/angular.js:15989:28)
at Scope.$digest (C:/git/angularjs/NSview/NSviewer/Scripts/angular.js:15800:31)
at Function.$httpBackend.flush (C:/git/angularjs/NSview/NSviewer/Scripts/angular-mocks.js:1543:38)
at Object.<anonymous> (C:/git/angularjs/NSview/NSviewer/app/tests/testServiceAPI.js:54:26)
Error: [$rootScope:inprog] $digest already in progress
http://errors.angularjs.org/1.4.7/$rootScope/inprog?p0=%24digest
at C:/git/angularjs/NSview/NSviewer/Scripts/angular.js:68:12
at beginPhase (C:/git/angularjs/NSview/NSviewer/Scripts/angular.js:16346:15)
at Scope.$digest (C:/git/angularjs/NSview/NSviewer/Scripts/angular.js:15780:9)
at Function.$httpBackend.verifyNoOutstandingExpectation (C:/git/angularjs/NSview/NSviewer/Scripts/angular-mocks.js:1575:38)
編輯: 補充:
$httpBackend.expectGET(jsonLayer0);
補充: 完整堆棧跟蹤
您可以張貼錯誤的完整堆棧跟蹤。 – Vivek
當然! @VVK – ganjan