ruby-on-rails - 如何使用 rspec/rails 测试 AJAX 请求的路由

标签 ruby-on-rails ajax testing rspec routes

我的路由有一个限制,只允许路由 ajax 请求。 我如何使用 rspec 测试它? 具体来说,什么测试会显示/schedules 是可路由的,但只能来自 AJAX。

routes.rb

  class OnlyAjaxRequest
    def matches?(request)
      request.xhr?
    end
  end

  resources :schedules, :constraints => OnlyAjaxRequest.new

我目前有以下通过的测试部分,以表明普通 GET 请求不可路由,但我想知道如何测试 AJAX GET 请求是否可路由。

spec/routing/schedules_routing_spec.rb

require 'spec_helper'

describe "GET /schedules" do
    it "returns http failure to non AJAX request" do
      {:get => '/schedules'}.should_not be_routable
  end
end

最佳答案

试试这个
获取“/schedules”,格式::xhr
response.should be_ok

关于ruby-on-rails - 如何使用 rspec/rails 测试 AJAX 请求的路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20722819/

相关文章:

mysql - Rails 一直尝试使用 SQLite ,尽管我已经为我的项目配置了 MySQL

ruby-on-rails - 本地主机 :3000/topics/index and localhost:3000/topics/show BOTH route to same show. html 文件

xml - Spring Test/JUnit 问题 - 无法加载应用程序上下文

scala - 了解测试套件

testing - 如何对网站进行负载测试?

ruby-on-rails - 跟踪值(value)随时间变化的算法

ruby-on-rails - 如何从事件管理员中删除资源

javascript - 通过 .load() 加载的脚本失败

php - 无法发布和插入到数据库并回显结果 AJAX/PHP/MYSQL

javascript - 如何在有序列表中插入 DOM 元素(在 Dojo 中)?