Ho un caso di prova ember-qunit per un controller (utilizzando moduleFor('controller:name', ...)
) che mi piacerebbe poter utilizzare lo moduleForModel
-exclusive this.store()
in ordine per recuperare un archivio dati DS.FixtureAdapter. Per questo specifico caso di test, non sto provando a testare il modello: voglio solo verificare che il controller possa essere popolato con un insieme di istanze di modello e che varie operazioni possano essere eseguite su tali dati.Utilizzo di ember-qunit per testare i controller con un negozio (DS.FixtureAdapter)
sto usando CoffeeScript quindi il mio codice è simile:
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')
)
Nell'esempio di cui sopra v'è un controller di nome TestController e v'è anche un modello denominato Test. Ho rimosso le linee container.register
e context.__setup_properties__.store
dalla definizione di moduleForModel
in ember-qunit.
Il problema è che ho un errore quando si esegue la suite di test brace-qunit:
Setup failed on [test case name]: No model was found for 'test'
esecuzione l'effettiva applicazione al di fuori della brace-qunit funziona bene. Forse c'è qualcuno là fuori che ha avuto lo stesso problema? O forse sto prendendo l'approccio sbagliato?
Grazie, quello che manca è il campo 'needs'. Funziona! – jeninto