RailsチュートリアルのテストをRspecで書いてみた[第4章]

はじめに

今回はRspecの学習の一環として、RailsチュートリアルのテストをRspecで書いていきます。
至らない点があるかもしれませんが、その際はコメントにてご指摘をお願いします。

各種バージョン

Ruby 2.7.0
Rails 6.0.3.3
Rspec 3.9
Capybara 3.33.0
Factory_bot_rails 6.1.0

第4章

リスト4.4: Homeページ用のタイトル確認用にテストを更新する

spec/requests/static_pages_request_pec.rb

RSpec.describe "Staticpages", type: :request do
  let(:base_title) { 'Ruby on Rails Tutorial Sample App' }
  describe "GET /" do
    it "returns http success" do
      get "/"
      aggregate_failures do
        expect(response).to have_http_status(:success)
        expect(response.body).to include base_title
        expect(response.body).to_not include "| #{base_title}"
      end
    end
  end

第3章のテストを利用してみましたが、強引な感じが否めません...
ですので、system-specで書いてみました。

spec/system/static_pages_spec.rb

RSpec.describe "StaticPages", type: :system do
  scenario "「/」 にアクセスした場合,タイトルは「Ruby on Rails Tutorial Sample App」です" do
    visit root_path
    expect(page.title).to eq "Ruby on Rails Tutorial Sample App"
  end
end