我如何使用rspec来测试Ajax请求?

时间:2013-07-31 22:55:21

标签: ruby-on-rails ajax rspec

我正在尝试在rspec中测试一个ajax请求,但我不太确定如何在这一点上做它无论是rspec还是capybara,我只是想让测试通过,任何建议都是非常感谢

describe "Cart", js: true, search: true do

  let(:product) { create(:product) }
  let(:variant) { create(:variant, :product => product, :count_on_hand => 1, :sku=>"YIG01276") }
  let(:flash_sale) { create(:flash_sale) }
  let(:user) { create(:user) }

  before do
    flash_sale.variants << variant
    flash_sale.save
    product.reload
  end

 it "displays expiring time in cart" do


    login_user user

    visit spree.product_path(product)

    click_button 'Add To Cart'

    user.last_incomplete_spree_order.expires_in.should > 0


  end


end

1 个答案:

答案 0 :(得分:1)

如果你想在ajax调用之后检查行为,比如更新视图。你需要使用capybara https://github.com/jnicklas/capybara和支持javascript的驱动程序,如selenium,webkit

如果您只是想测试请求,可以直接使用rack-test