如何在测试时从Ember应用程序中的test()内的store.find()获取数据

时间:2015-03-18 15:24:06

标签: ember.js ember-data ember-testing

我想测试一般从DS.Store检索数据。

为此,我想在我的测试中写一些像

test("Load categories", function(assert){
    App.store.find('data').then(function (data){
        ok(data,'data ok')
    });
});

问题在于,在Ember测试中,承诺的工作方式并不像预期的那样,并且内部的钩子不会运行。

Haw我可以组织我的代码从商店获取数据吗?

1 个答案:

答案 0 :(得分:0)

问题在于我错误地设置了商店

module("Data testing",
    setup:  ->
        Ember.run App, ->
            App.reset()
            DS.Store.create()
            @store = containerLookup('store:main')

所以,在setup()

中删除了商店的声明
module("Data testing",
    setup:  ->
        Ember.run App, ->
            App.reset()

并将其移至test()

test("Load categories", (assert) ->
    store = containerLookup('store:main')
    store.find('category').then( (data)->
        ok(data, 'data is here')

之后,然后()函数运行。