2013-02-18 2 views
5

При использовании проекта Jasmine in Rails, чтобы согласовать зависимости в моих спецификациях Jasmine, я хочу вытащить jquery из cdn, как это делается на реальной странице. Я стараюсь делать это как так, в моем файле Jasmine.yml:Как вы можете добавить файлы javascript из CDN в Jasmine?

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

Однако, это никогда не работает, так как при просмотре источника локального хоста: 8888 я получаю:

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

Как вы это правильно?

ответ

4

, как ответил https://github.com/pivotal/jasmine-gem/issues/135

Я написал помощник для загрузки внешних JavaScripts. Это не лучшее решение (я бы предпочел использовать файл конфигурации), но он работает для меня.

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

@ Ответ emrox правильный и работает на жасмин 2.0.

Однако в жасмин 2.1.3 это не так. Это связано с тем, что при выполнении тестов (я использую Chutzpah) «http:» не привязан к ссылке CDN. Это в версии 2.0 жасмина.

Исправление я Реализована работал включал следующую строку кода:

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

Надеюсь, это поможет кому-то, прежде чем они решат понизить до 2,0!

0

Вопрос 135 сделал так, что вы можете перечислить записи CDN в файле jasmine.yml. например

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 
Смежные вопросы