Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

URLリダイレクトのspecを書きたいとき

More than 5 years have passed since last update.

単純に"old/page/url"を"new/page/url"にリダイレクトする処理のrspecを書くとき、

  get 'old/page/url'

で書くと、そんなacitonがないよ、と怒られる。

Controller specの場合、getに渡すパラメータがaction名だから。

そんなとき、Request specsの登場です。
やり方は簡単。specをspec/requestsフォルダ配下に作るだけです。

describe PcController do
  it 'redirect old/page/url to new/page/url' do
    get 'old/page/url'
    expect(response).to redirect_to('http://test.com/new/page/url')
  end
end

独り言

なるほど、spec/requests配下に置くだけで、urlをgetできるのだ。ちなみに、postもできる。
見た目では同じgetメソッドなのに、置く場所によって、actionであったり、urlであったりするのだ。

Apuruny
仕事ではRailsとJavaをメインに使っています。 プライベートでiOSアプリを開発しています。 App storeに公開中のアプリ: ・「五目消し」 https://itunes.apple.com/us/app/gomoku-collector/id501679095?mt=8&uo=4
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away