2017-11-13 4 views
0

私のジャスミン仕様は正常に動作しています。jasmine-gemが正しくjqueryをロードしない

ReferenceError: Can't find variable: $ in http://localhost:57132/__spec__/

だから、私はまだbundle install同じエラー後gem "jasmine-jquery-rails"

を追加しました:私は$ようにjqueryの構文を使用する必要がある場合でも、私は次のエラーを取得しています。

今、私はjasmine-jqueryをjasmine.ymlファイルに追加することにしましたが、それと同じエラーです。

次に、jasmine-jquery.jsを手動でダウンロードしてapp/assets/javascriptsに置き、それをjasmine.ymlに追加することにしました。それから、すべての仕様に誤りがあります。

TypeError: Right-hand side of 'instanceof' is not an object 

TypeError: $ is not a function 

ここで間違っていることはわかりません。

ファイルをロードする順番はここで問題になると思います。しかし、これを理解することはできませんでした。

答えて

1

私は昨日、ジャスミン宝石を使用して使用し始めましたが、しばらくそれと戦った後、私はそれが私のために働くようになった。

必要なものは、$ハンドラを登録するためにJQueryを取得することです。 src_filesyasmine.ymlのJQueryライブラリを追加するだけでは、それは役に立ちません。

src_files: 
    - assets/application.js 
    - '../vendor/javascripts/*.js' 
    - 'javascript/**/*.js' 

(私は javascript/フォルダに私の実際のソースファイルを持って、ため ..vender/javascripts/フォルダを使用します。私のために仕事をやった

src_files最初のエントリとしてjasmine.ymlにassets/application.jsを含めるようにしましたサードパーティのライブラリは、これはあなたのために異なるだろう)

jQueryのは、このようassets/javascripts/application.jsで必要とされていることを確認します:。

// This is a manifest file that'll be compiled into application.js, which will include all the files 
// listed below. 
// 
// Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts, 
// or any plugin's vendor/assets/javascripts directory can be referenced here using a relative path. 
// 
// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the 
// compiled file. JavaScript code in this file should be added after the last require_* statement. 
// 
// Read Sprockets README (https://github.com/rails/sprockets#sprockets-directives) for details 
// about supported directives. 
// 
//= require jquery 
//= require jquery_ujs 
//= require turbolinks 
//= require_tree . 

これは、rails newコマンドラインツールを使用して新しいアプリケーションを生成するときに、あなたのassets/javascripts/application.jsがどのように見えるかを示しています。

jasmine-jquery-rails gemは基本的なJQueryサポートではなく、追加のテスト機能を追加するため、問題の解決に役立ちません。

ジャスミンをセットアップして成功しました!

関連する問題