尝试使用 jasmine 和 angular 时出错

2022-01-11 00:00:00 angularjs jasmine javascript httpbackend

当我尝试使用 $httpBackend.flush(); 时出现错误 TypeError: $browser.cookies is not a function.我找不到有关此类错误和任何解决方案的任何信息.

When I try to use $httpBackend.flush(); I get error TypeError: $browser.cookies is not a function. I can't find any information about this kind of error and any solutions.

describe("someText", function() {
    var $httpBackend;
    var someManager;
    var authRequestHandler;

    var dataMockup = [];

    beforeEach(function(){
        module('app');

        inject(function($injector){
            $httpBackend = $injector.get('$httpBackend');
            someManager = $injector.get('someManager');

            authRequestHandler = $httpBackend.when('GET', 'someUrl.php')
                .respond(dataMockup);
        });
    });

    it('test first action', function() {
        $httpBackend.expectGET('someUrl.php');
        messageManager.loadData();
        $httpBackend.flush(); // There i got error
    });
});

  • 角度:1.3.15
  • 茉莉花:2.3.4
  • 推荐答案

    我相信您使用的是版本 1.4.x 的角度模拟,而您的代码使用的是角度 1.3.15.请检查您是否正在为您在应用程序中实现的版本使用模拟.此外,最好提供您的 jasmine 测试配置文件.

    I believe you are using the angular mocks for version 1.4.x, and your code is using angular 1.3.15. Please check that you are using the mocks for the version you are implementing in your application. Also it is always good to provide your jasmine test configuration file.

相关文章