小编jen*_*nto的帖子

使用ember-qunit测试带存储的控制器(DS.FixtureAdapter)

我有一个控制器(使用moduleFor('controller:name', ...))的ember-qunit测试用例,我希望能够使用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')
)
Run Code Online (Sandbox Code Playgroud)

在上面的示例中,有一个名为TestController的控制器,还有一个名为Test的模型.我从ember-qunit 的定义中解除了这些container.registercontext.__setup_properties__.store线条moduleForModel.

问题是我在运行ember-qunit测试套件时遇到错误:

Setup failed on [test case name]: No model was found for 'test'
Run Code Online (Sandbox Code Playgroud)

在ember-qunit之外运行实际应用程序可以正常工作.也许那里有人有同样的问题?或许我采取了错误的做法?

javascript coffeescript ember.js ember-qunit

5
推荐指数
1
解决办法
1116
查看次数

标签 统计

coffeescript ×1

ember-qunit ×1

ember.js ×1

javascript ×1