書き方よくわからんと思ったのでメモ
環境
$ bundle exec rspec --version RSpec 3.8 - rspec-core 3.8.0 - rspec-expectations 3.8.2 - rspec-mocks 3.8.0 - rspec-rails 3.8.1 - rspec-support 3.8.0
やり方
request specで
expect(response).to redirect_to("{{リダイレクト先のフルパス}}")
のように書くことで確認ができる
書き方例
前提
こんなControllerがあり
class UsersController < ApplicationController def index render json: {url: users_url} end end
こんなroute.rbでリダイレクトさせる場合
Rails.application.routes.draw do resources :users, only: :index # same_usersはusersにリダイレクト get "same_users" => redirect("/users") end
rspec側の書き方
下記のような感じで書けばOK
require 'rails_helper' RSpec.describe "/same_users/", type: :request do subject { get "/same_users/"} context "正しくアクセスしたとき" do before do subject end it "期待した結果が返ってくる" do expect(response).to redirect_to("http://www.example.com/users") end end end