Неожиданный запрос: GET, за которым следует [$ rootScope: inprog] $ digest, который уже выполняется.Ангулярс и Карма - PullRequest
0 голосов
/ 28 февраля 2019

spec file

'use strict';

describe('component test : home', function () {

    // add module reference you want to test
    beforeEach(module('homeView'));

    // add templates [from karma]
    beforeEach(module('templates'));

    var element;
    var scope;
    var $httpBackend;

    beforeEach(inject(function ($rootScope, $compile, _$httpBackend_) {
        $httpBackend = _$httpBackend_;
        scope = $rootScope.$new();
        element = angular.element('<home-view></home-view>');
        scope.$apply(function () {
            $compile(element)(scope);
        });
    }));


    it('extra column http get', function () {
        var mockResponse = {
            data: {
                success: true,
                message: ':D :D'
            }
        };

        $httpBackend.expectGET('http://localhost:51275/api/ExtraColumn')
            .respond(mockResponse);

        expect(data).toEqual(mockResponse);

        $httpBackend.flush();
    });


    //it('header text', function () {
    //    var title = element.find('h1');
    //    console.log(title.text());
    //    expect(title.text()).toContain('Interviewees');
    //});



});

error

 Error: Unexpected request: GET http://localhost:51275/api/ExtraColumn
        No more request expected
            at createFatalError (Scripts/angular-mocks.js:1569:19)
            at $httpBackend (Scripts/angular-mocks.js:1616:11)
            at sendReq (Scripts/angular.js:13257:9)
            at serverRequest (Scripts/angular.js:12998:16)
            at processQueue (Scripts/angular.js:17914:37)
            at Scripts/angular.js:17962:27
            at Scope.$digest (Scripts/angular.js:19075:15)
            at ChildScope.$apply (Scripts/angular.js:19463:24)
            at UserContext.<anonymous> (home-view/home-view.component.spec.js:19:15)
            at Object.invoke (Scripts/angular.js:5122:19)
            at <Jasmine>
            at window.inject.angular.mock.inject (Scripts/angular-mocks.js:3422:25)
            at Suite.<anonymous> (home-view/home-view.component.spec.js:15:16)
            at <Jasmine>
            at home-view/home-view.component.spec.js:3:1
        ReferenceError: data is not defined
            at <Jasmine>
            at UserContext.<anonymous> (home-view/home-view.component.spec.js:36:16)
            at <Jasmine>

Я пытаюсь написать тесты для моего приложения angularjs.Тест должен смоделировать запрос http, и я написал этот выше и получил эти ошибки.неожиданные ошибки get и $digest уже выполняются, когда в моем коде даже нет $digest.Как мне это исправить подскажите пожалуйста.

1 Ответ

0 голосов
/ 01 марта 2019

В любой момент времени может быть только одна операция $digest или $ apply.Это сделано для того, чтобы очень трудно обнаружить ошибки, попадающие в ваше приложение.Трассировка стека этой ошибки позволяет отследить источник выполняющегося в данный момент вызова $apply или $digest, вызвавшего ошибку.

см. Эту ссылку

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...