6

RailsプロジェクトでJasmineを使用する場合、Jasmineの仕様で依存関係の一貫性を保つために、実際のページで行われているように、cdnからjqueryをプルしたいと思います。Jasmine.ymlファイルでそのようにしようとしています:

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

ただし、localhost:8888のソースを表示すると、次のようになります。

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

どのようにこれを正しくしますか?

4

3 に答える 3

4

https://github.com/pivotal/jasmine-gem/issues/135で回答済み

外部のJavaScriptをロードするヘルパーを作成しました。これは最善の解決策ではありませんが(設定ファイルを使用することをお勧めします)、私にとってはうまくいきます。

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);
于 2013-02-27T18:19:57.933 に答える
1

@emroxの答えは正しく、ジャスミン2.0で機能します。

ただし、jasmine 2.1.3ではそうではありません。これは、テストが実行されるとき (私は Chutzpah を使用しています)、"http:"が CDN 参照の先頭に追加されないという事実によるものです。jasmine のバージョン 2.0 です。

私が実装した修正には、次のコード行が含まれていました。

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

2.0 へのダウングレードを決定する前に、これが誰かの役に立てば幸いです。

于 2015-07-08T21:03:14.687 に答える