末尾最適呼び出し化

東京のWebエンジニアの日記帳

RailsのRspecでresponse.statusはデフォルトで200らしい

環境

なんかみつけた

Railsの仕様なのかRspecの仕様なのか知らないけど、

describe '何これバグじゃね' do
  it { expect(response.status).to eq 200 }
end

これが何故か通る。

なので、request specしてる風を醸し出す裏技ができる

describe 'GET /hogehoge' do
  subject { get '/hogehoge' }
  it do
    expect(response.status).to eq 200
  end
end

こういうテストをいつでもどこでも通せる。

本当にテストする場合は

describe 'GET /hogehoge' do
  subject { get '/hogehoge' }
  it do
    subject
    expect(response.status).to eq 200
  end
end