首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在使用角度数据模拟时调用DS.find().then()

如何在使用角度数据模拟时调用DS.find().then()
EN

Stack Overflow用户
提问于 2015-01-27 02:29:35
回答 1查看 128关注 0票数 0

我一直在尝试测试我正在编写的一个使用角度数据存储的服务,但无法让它调用传递给then()的回调。下面我有一个基本的例子来说明我想要做的事情以及我期望发生的事情。有没有人能解释一下我做错了什么,以及为什么它不能像预期的那样工作?

我希望这个测试能够通过,并将this is called输出到控制台。这两种方法都没有用,失败的原因是"expected false to be true“。

代码语言:javascript
复制
describe('usage of expectFind', function(){
    beforeEach(function (done) {
        inject(function (_DS_) {
            DS = _DS_;
            done();
        });
    });

    it('should call the callback passed to then', function(done){
        DS.expectFind('foo', 1).respond([{a: 'thing'}])

        var called = false;
        DS.find('foo', 1).then(function(aFoo){
            console.log('this is called');
            called = true;
            done();
        });
        expect(called).toBe(true);
    });
});
EN

回答 1

Stack Overflow用户

发布于 2015-01-27 23:17:59

好的,我们解决了这个问题,我们需要在期望之前调用DS.flush()。这是实际触发要调用的回调的原因。

代码语言:javascript
复制
describe('usage of expectFind', function(){
beforeEach(function (done) {
    inject(function (_DS_) {
        DS = _DS_;
        done();
    });
});

it('should call the callback passed to then', function(done){
    DS.expectFind('foo', 1).respond([{a: 'thing'}])

    var called = false;
    DS.find('foo', 1).then(function(aFoo){
        console.log('this is called');
        called = true;
        done();
    });


    // this is what's missing
    DS.flush();

    expect(called).toBe(true);
});

});

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28156390

复制
相关文章

相似问题

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