私はajaxを使用してコントローラアクションを呼び出すリンクをテストしようとしています。基本的に、ユーザが「フォロー」をクリックすると、彼は会社に関連付けられ、レンダリング部分はJSで実行されます。 問題は、開発中に試しても正しく動作するが、テストでは応答しないということです。私はたくさんの方法で試してきましたが、コールがコントローラに届かないと思われます。RspecがAJAX呼び出しを実行していません
ここでは、テスト見ることができます:
#spec/integration/following_spec.rb
it "should add the company to the ones followed by the user", :js => true do
find("#current_company").click_link "Follow"
sleep 2
@user.companies_followed.include?(@company).should be_true
end
ビュー:
#app/views/companies/_follow_button.html.slim
= link_to change_follow_state_company_path(@company), :method => :put, :remote => true, :id => "follow", :class => "btn_block light" do
' Follow
とテスト構成:
#spec/integration_helper.rb
require 'spec_helper'
require File.expand_path("../../config/environment", __FILE__)
require 'rspec/rails'
require 'capybara/rspec'
require 'capybara/rails'
Dir[Rails.root.join("spec/integration/support/**/*.rb")].each {|f| require f}
RSpec.configure do |config|
config.use_transactional_fixtures = true
config.before do
clear_email_queue
end
end
Rails.cache.clear
テストログとは何ですか? –
@ Gawyn:これに対する解決策を見つけましたか?私も同じ問題を抱えています。 – Alan