首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jasmine单元测试在添加带有angulartics的angulartics后失败-piwik

Jasmine单元测试在添加带有angulartics的angulartics后失败-piwik
EN

Stack Overflow用户
提问于 2016-04-28 21:41:51
回答 2查看 196关注 0票数 1
代码语言:javascript
复制
PhantomJS 2.1.1 (Windows 7 0.0.0)e Service should get by id from Service FAILED
    Error: Unexpected request: GET /users/currentuser
    No more request expected in /static/third-party/angularjs/1.4.7/js/angular-mocks.js (line 1245)

这是我为我的服务收到的错误消息。在添加角度之前,我不会收到这些消息

有没有办法确保这些错误不会发生

我的测试代码:

代码语言:javascript
复制
beforeEach(function() {

    module('appHost');
    module('angulartics');

    inject(function($httpBackend, _Service_) {

        Service= _Service_;
        httpBackend = $httpBackend;
    });

});

afterEach(function() {
    httpBackend.verifyNoOutstandingExpectation();
    httpBackend.verifyNoOutstandingRequest();
});

it('should get template by id from Service', function() {

    var expected = {
            "name": "my name",
            "description": "bla bla bla bla",

        };

    var id = "12345";
    httpBackend.expectGET("/data/"+id).respond(expected);
        });
EN

回答 2

Stack Overflow用户

发布于 2016-08-02 03:55:59

我也经历过类似的事情。我的解决方法是简单地添加下面这一行

代码语言:javascript
复制
httpBackend.whenGET(/users/currentuser/).respond(200, '');

在每个块之前。然后,当angular试图获取自己的模板时,我得到了另一个错误。我修改了karma预处理器的配置,去掉了有问题的前缀,修复了这个问题。如果你需要更多的帮助,请告诉我。

票数 1
EN

Stack Overflow用户

发布于 2016-08-02 04:19:35

尝试添加httpBackend.flush()

代码语言:javascript
复制
it('should get template by id from Service', function() {

    var expected = {
            "name": "my name",
            "description": "bla bla bla bla",

        };

    var id = "12345";
    httpBackend.expectGET("/data/"+id).respond(expected);
    httpBackend.flush()
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36916519

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档