2011-10-06 9 views
6

Sto provando a configurare jasmine.yml (usando jasmine gem) per usare JQuery fornito da Google API invece di scaricarlo localmente sul mio server. Cioè .:C'è un modo per includere Javascript esterno come sorgente per Jasmine?

src_files: 
    - ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js 

Purtroppo questo non sembra funzionare, dal momento che (come per i commenti nel file di configurazione) è alla ricerca di filepaths relativi a src_dir. Non è possibile allora?

Grazie

Ruy

+0

Hai mai trovato una soluzione? Immagino che potrebbe non essere incoraggiato ad includere file esterni in un ambiente di test, dal momento che sono praticamente "fuori dal tuo controllo". Nel mio caso, tuttavia, vorrei includere un file ospitato su localhost con una porta diversa, ovvero ho il controllo completo. – polarblau

risposta

3

ho finito per scrivere i javascript includono via spec helper - nel mio caso lo script Livereload:

document.write('<script src="http://' + (location.host || 'localhost').split(':')[0] + ':35729/livereload.js?snipver=1"></' + 'script>'); 

E 'un po' hacky, ma funziona. Potresti voler definire in modo più preciso dove viene inserito lo script.

1

Se si utilizza la gemma jasmine-rails è possibile creare il proprio layouts/jasmine_rails/spec_runner.html e aggiungere lì la dipendenza remota.

!!! 5 
%html 
    %head 
    %title Jasmine Specs 
    = stylesheet_link_tag *jasmine_css_files 
    %script(src='//maps.googleapis.com/maps/api/js?sensor=false') 
    = javascript_include_tag *jasmine_js_files 
    %body 
    #jasmine_content 
    = yield 
0

È possibile utilizzare jQuery getScript:

$.getScript(external_script_url, function(data, textStatus, jqxhr) { 
    some code to execute after script is loaded 
}); 

Nel caso in cui si desidera includere anche jQuery esternamente, è necessario caricare in questo modo

document.write('<script src="http://.../jquery.min.js</script>') 
Problemi correlati