【发布时间】:2014-07-02 06:08:51
【问题描述】:
我有一个控制器的 ember-qunit 测试用例(使用 moduleFor('controller:name', ...)),我希望能够使用 moduleForModel-exclusive this.store() 来检索 DS.FixtureAdapter 数据存储.对于这个特定的测试用例,我不是要测试模型 - 我只是想验证控制器是否可以填充一组模型实例,并且可以针对该数据运行各种操作。
我使用的是 coffeescript,所以我的代码如下所示:
moduleFor("controller:test", 'My Controller', {
setup: ->
@store().createRecord 'test', value: 1
@store().createRecord 'test', value: 2
@subject({
model: @store().all('test')
})
teardown: -> App.reset()
}, (container, context) ->
container.register 'store:main', DS.Store
container.register 'adapter:application', DS.FixtureAdapter
context.__setup_properties__.store = -> container.lookup('store:main')
)
在上面的示例中,有一个名为 TestController 的控制器,还有一个名为 Test 的模型。我从 ember-qunit 中 moduleForModel 的定义中删除了 container.register 和 context.__setup_properties__.store 行。
问题是我在运行 ember-qunit 测试套件时遇到错误:
Setup failed on [test case name]: No model was found for 'test'
在 ember-qunit 之外运行实际应用程序可以正常工作。也许那里有人遇到同样的问题?还是我采取了错误的方法?
【问题讨论】:
标签: javascript ember.js coffeescript ember-qunit