2017-08-23 14 views
0

は、jQueryのDataTableのプラグインは、私のJSドライバとしてポルターガイストを使用して、私のカピバラの統合テストのためにロードされていません。レール:カピバラ(ポルターガイストドライバ)はJQueryのDataTableをロードしない

最初は私のテストは、テーブルをソートするDataTableのヘッダーをクリックすることになって、それが機能しなかったとき、私はDataTableのは、すべての時にロードされていないかどうかを確認するために私のテストを変更しました。そうではありません。

は、テストログでは、エラーはありません、それは手動ブラウザのテスト(無JSコンソールエラー、のいずれか)で正常に動作します。すべての宝石は最新です。

ドライバはjQueryの/ JSを使用して、アプリケーションの他の領域で正常に動作します。これは、ロードされないこの特定のプラグインです。

統合テスト

class ClientFlowsTest < ActionDispatch::IntegrationTest 

    setup :use_js_driver 

    setup do 
    @user = User.create(email: "[email protected]", password: "isthisgood?", password_confirmation: "isthisgood?") 
    #create 10 clients for the user (pagination limit is 9) 
    for i in 1..10 
     @user.clients.create(name: "Happy client #{i}") 
    end 

    sign_in @user 
    end 

    test "sort list of clients" do 
    visit clients_path 
    click_link "sidebar-client-index" 

    # should be present even without DataTables 
    assert page.has_css? "#client-table" 

    # should only be present if DataTables has loaded 
    assert page.has_css? "#client-table_wrapper" 
    end 
end 

コンソール出力

rake test test/integration/client_flows_test.rb 
Run options: --seed 10558 

# Running: 

Fontconfig warning: ignoring C.UTF-8: not a valid language tag 
F 

Finished in 3.320688s, 0.3011 runs/s, 0.6023 assertions/s. 

    1) Failure: 
ClientFlowsTest#test_sort_list_of_clients [/home/ubuntu/workspace/test/integration/client_flows_test.rb:23]: 
Expected false to be truthy. 

1 runs, 2 assertions, 1 failures, 0 errors, 0 skips 
+0

たぶん、この[質問](https://stackoverflow.com/questions/29809462/uncss-error-c-utf-8-not-a-valid-language-tagは)あなたに答えるためにあなたを助けることができます。 – Roshan

答えて

0

は、ポルターガイストは、最新バージョン(開発がそれに停止するので、おそらく最後のバージョンしている)の唯一のサポート、PhantomJSに依存しますES5まで。あなたのコードがES5.1 +の機能を使用している場合、機能しません。letconstなどを使用すると暗黙のうちに失敗する可能性があります。瞬時にヘッドレスセレンを介したクロム。

ポルターガイストは現在、うまくいけば、これらの制限はすぐに離れて行くだろう、人形遣いはなくPhantomJSを使用するように書き換えられています。