【问题标题】:How to test AJAX with Ruby on Rails?如何使用 Ruby on Rails 测试 AJAX?
【发布时间】:2012-02-06 12:20:46
【问题描述】:

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

请问有人可以帮忙吗? 我正在使用 Rspec。

【问题讨论】:

    标签: ruby-on-rails ajax rspec tdd


    【解决方案1】:

    在 Rails 4.2 中,对于发送 ajax 请求,使用键“xhr: true”设置可选的哈希参数以调用 get、post、patch、put 或 delete 方法。 例如:

    get users_path + '?page=2', xhr: true
    

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

    【讨论】:

      【解决方案2】:

      你应该使用 Capybara 和 Selenium。看this great Railscast

      【讨论】:

        【解决方案3】:

        取决于您的 Ajax 请求的内容......实际上最好在多个级别上对其进行测试。

        使用控制器测试来测试控制器的响应。

        使用像 jasmine 这样的纯 JS 测试框架测试您的 JS 是否正确处理此响应。

        使用 cucumber 或集成 rspec(在 capybara/selenium 的帮助下)测试您在应用程序中的流程。

        【讨论】:

          猜你喜欢
          • 2016-10-21
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多