2013-02-18 12 views
5

Quando si utilizza Jasmine in un progetto Rails, per mantenere le dipendenze coerenti nelle specifiche Jasmine, voglio estrarre jquery da un cdn come si fa nella pagina reale. Io cerco di farlo in questo modo, nel mio file Jasmine.yml:Come puoi includere un file javascript da un CDN in Jasmine?

helpers: 
    - http://code.jquery.com/jquery-1.9.1.js 

Tuttavia, questo non funziona mai, come quando si visualizza l'origine del localhost: 8888 ottengo:

<script src="/__spec__/http://code.jquery.com/jquery-1.9.1.js" type="text/javascript"></script> 

come si fa tu questo correttamente?

risposta

4

come risposta a https://github.com/pivotal/jasmine-gem/issues/135

ho scritto un aiutante per caricare javascript esterni. Non è la soluzione migliore (preferirei usare il file di configurazione) ma funziona per me.

var head = document.getElementsByTagName('head')[0]; 
var jQueryScript = document.createElement('script'); 
jQueryScript.setAttribute('type', 'text/javascript'); 
jQueryScript.setAttribute('src', '//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js'); 
head.appendChild(jQueryScript); 
1

la risposta di @ emrox è corretta e funziona per jasmine 2.0.

Tuttavia in gelsomino 2.1.3 non lo fa. Ciò è dovuto al fatto che quando vengono eseguiti i test (sto utilizzando Chutzpah) "http:" non è pre-pended al riferimento CDN. È nella versione 2.0 di gelsomino.

La correzione che ho implementato lavorato comportato la seguente riga di codice:

jQueryScript.setAttribute ('src', 'http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js');

Speriamo che questo aiuti qualcuno prima che decidano di effettuare il downgrade a 2.0!

0

Numero 135 creato in modo da poter elencare le voci CDN nel file jasmine.yml. per esempio.

src_files: 
    - http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.js 
    - http://ajax.googleapis.com/ajax/libs/jqueryui/1.11.2/jquery-ui.min.js 
    - lib/javascript/**/*.js 
Problemi correlati