Mam przypadek testowy ember-qun dla kontrolera (używając moduleFor('controller:name', ...)
), że chciałbym móc użyć moduleForModel
-wyłącznego this.store()
w aby pobrać magazyn danych DS.FixtureAdapter. W tym konkretnym przypadku testowym nie próbuję testować modelu - chcę tylko sprawdzić, czy kontroler może zostać wypełniony zestawem instancji modelu, a różne operacje można wykonać na tych danych.Używanie ember-qunit do testowania kontrolerów ze sklepem (DS.FixtureAdapter)
Używam coffeescript więc mój kod wygląda następująco:
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')
)
W powyższym przykładzie jest kontroler o nazwie TestController i tam jest również model o nazwie test. Podniosłem linie container.register
i context.__setup_properties__.store
z definicji moduleForModel
w ember-qunit.
Problemem jest to, że pojawia się błąd podczas uruchamiania zestawu testowego Ember-qunit:
Setup failed on [test case name]: No model was found for 'test'
Running rzeczywistego stosowania poza Ember-qunit działa dobrze. Może jest ktoś, kto ma ten sam problem? A może podejmuję niewłaściwe podejście?
Dzięki, czego brakuje to pole 'needs'. To działa! – jeninto