2014-10-01 9 views
54

Per quanto posso vedere, durante il test dei modelli di dati ember nella CLI di ember, tutte le relazioni devono essere elencate in needs. Questo va bene se la struttura è semplice, ma in molti casi ci saranno più livelli.CLI di Ember che verifica complicate relazioni tra i modelli

Ad esempio, se i modelli sono configurati con le seguenti relazioni definite:

Model a: 
    belongsTo: b 
    belongsTo: c 

Model b: 
    hasMany: a 
    hasMany: d 

Model c: 
    hasMany: a 
    belongsTo: e 

Model d: 
    hasMany b 

Model e: 
    hasMany c 

Poi ogni unit test per qualsiasi di questi modelli richiederanno ogni altro modello di cui needs, ad esempio Un test per c:

needs: [ 
    'model:a' // Because c -> a 
    'model:e' // Because c -> e 
    'model:b' // Because c -> a -> b 
    'model:d' // Because c -> a -> b -> d 
] 

La mia configurazione attuale è molto più complicato con 14 modelli, e ciascuno di essi indirettamente correlate a tutti gli altri.

La mia comprensione è corretta? C'è un modo più efficiente per farlo? O c'è una buona ragione per farlo in questo modo che mi manca?

+0

Ho appena aggiornato un progetto la scorsa notte a 0.0.46 e notato questo comportamento così, e non ricordo che succede nelle versioni precedenti. Potrebbe essere qualcosa di nuovo nei dati di brace? – Dhaulagiri

+6

Il problema è stato risolto da [questa PR] (https://github.com/stefanpenner/ember-cli/pull/2351). –

risposta

1

Se si utilizza Ember default 'Ember-QUnit' allora dovete elencare tutti i modelli nei bisogni.

Ma esiste un'alternativa per i test che sto utilizzando, ad esempio ember-data-factory-guy. Viene utilizzato per creare dati di fabbrica anziché dati di fissaggio durante il test di Modello, componente, controllore, ecc.

È possibile passare attraverso di esso.

https://github.com/danielspaniel/ember-data-factory-guy