如何使用Ruby on Rails测试AJAX?

Max*_*kin 3 ajax tdd rspec ruby-on-rails

有人可以提供建议,如何在Ruby on Rails中测试AJAX?例如:我点击按钮,查询转到TestController #new,在那个方法中我们有respond_with(@test)和new.js.erb,其中是html表单.好吧,我可以点击这个链接/按钮,xhr查询将工作,但我没有得到任何响应,我需要测试.

有人可以帮忙解决这个问题吗?我正在使用Rspec.

sad*_*nix 7

在Rails 4.2中,对于send ajax request,使用键"xhr:true"设置可选的hash参数来调用get,post,patch,put或delete方法.例如:

get users_path + '?page=2', xhr: true
Run Code Online (Sandbox Code Playgroud)

然后使用assert_select验证更新页面上的一些HTML元素.


apn*_*ing 6

你应该使用Capybara和Selenium.看看这个伟大的Railscast.