2012-01-30 10 views
9

Sto imparando il backbone quindi sto costruendo una semplice app Backbone. Sto usando il framework jasmine per testare la mia app backbone.Miglior approccio per testare le viste backbone con i modelli usando Jasmine

Per fortuna, il mio primo test al gelsomino era per una vista spettrale. Questa è una vista molto semplice che utilizza un modello haml-js. Gli utenti delle app eseguono rails 3.1, quindi l'intero pacchetto è pacchettizzato con l'aiuto di haml-sprockets gem e funziona.

Tuttavia quando ho test con il gelsomino ottengo un errore

TypeError: Cannot call method 'backbone/templates/admin_personal_attribute_template' of undefined

ho capito che questo è perché template Haml-js non è presente.

Normalmente questo modello si accede in questo modo:

$(this.el).html(window.JST["backbone/templates/admin_personal_attribute_template"]({pars:this.model.attributes})); 

(cioè HAML-pignoni gioiello compila utilizza Haml-js e accoda a window.JST).

Sto cercando il modo "migliore", meno distruttivo e, si spera, semplice, per testare le mie viste + modelli in gelsomino.

ho trovato un certo numero di modi per farlo, ma non è sicuro come quello che è il 'migliore':

  1. Usa gelsomino-senza testa-webkit. Questo utulizzerà i pignoni, ma la capacità di accedere al server jasmine è così semplice, ma una certa perdita di flessibilità
  2. L'uso di phantom.js come descritto da japhr (mi dispiace che StackOverflow mi impedisca di pubblicare più collegamenti) funzionerà attorno alle limitazioni lato server, ma questo sembra essere un metodo molto nuovo e non testato, così flessibile ma non semplice
  3. Pre-generare i propri modelli come descritto here. Questo è concettualmente semplice, ma richiede un po 'di manutenzione - quindi alcuni lavori di codifica

Supponendo che abbia un progetto con ~ 20 modelli e ~ 40 viste e modelli, qual è il modo migliore per andare?

risposta

Problemi correlati