失败:$ httpBackend.whenGET不是一个函数

San*_*con 5 angularjs protractor httpbackend

whenGET不是一个函数,但是当我输出proxyvar我时,看到函数就在那里

{ when: [Function],
    whenGET: [Function],
    whenPUT: [Function],
    whenHEAD: [Function],
    whenPOST: [Function],
    whenDELETE: [Function],
    whenPATCH: [Function],
    whenJSONP: [Function],
    context: {},
  flush: [Function],
      syncContext: [Function],
    onLoad: [Getter] 
}
Run Code Online (Sandbox Code Playgroud)

规范

describe('Login', function () {

    var Injector = require('./helpers/injector');
    var loginPage = require('./pageObjects/LoginPage.js');
    var HttpBackend = require('http-backend-proxy');
    var proxy = new HttpBackend(browser);

    var loginJsonStub,
        loginPost,
        URLbase;
        //projectsJsonStub;

    beforeEach(function () {
        browser.get('http://localhost:9001/#');
        loginPost = {'Login': 'sjv', 'Password': 'password'};

        var injector = new Injector();
        injector.get('loginJson').then(function (result) {
            loginJsonStub = result;
        });

        var injector = new Injector();
        injector.get('URLbase').then(function (result) {
            URLbase = result;
        });
    });

    /*
     Login scenario
     */

    describe('should succeed with correct credentials and proceed to projects page', function () {

        it('should redirect to answerset page immediately if only 1 project', function () {

            loginJsonStub.Response.Payload.User.ProjectAmountIndication = 1;

            proxy.whenGET(URLbase + 'authentication/login', loginPost).respond(200, loginJsonStub);
            //httpBackend.whenGET(URLbase + 'project/getprojectsbyuserhierarchical').respond(200, {}); //projectsJsonStub.one

            loginPage.userName.sendKeys('xx\\svijver');
            loginPage.password.sendKeys('password');
            loginPage.nextButton.click();

            browser.getLocationAbsUrl();
            expect(browser.getCurrentUrl()).toContain('answersets/1');

            browser.sleep(2000);
        });
    });
});
Run Code Online (Sandbox Code Playgroud)

我错过/忽略了什么吗?

Zak*_*ria 0

在该http-backend-proxy模块中,您可以看到它需要一个ngMockE2E依赖项(第 147 行)。

对我来说,您的ngMockE2E(角度内置模块)不是通过angular-mocks.js脚本加载的。