RailsチュートリアルのテストをRspecで書いてみた[第3章]
はじめに
今回は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
第3章
リスト3.16: Aboutページのテスト
spec/requests/static_pages_request_spec.rb describe "GET /about" do it "returns http success" do get "/staticpages/about" expect(response).to have_http_status(:success) end end
リスト3.25: StaticPagesコントローラのタイトルをテストする
spec/requests/static_pages_request_spec.rb require 'rails_helper' RSpec.describe "Staticpages", type: :request do describe "GET /home" do it "returns http success" do get "/staticpages/home" expect(response).to have_http_status(:success) #以下の一文を追加 expect(response.body).to include "Home | Ruby on Rails Tutorial Sample App" end end describe "GET /help" do it "returns http success" do get "/staticpages/help" expect(response).to have_http_status(:success) #以下の一文を追加 expect(response.body).to include "Help | Ruby on Rails Tutorial Sample App" end end describe "GET /about" do it "returns http success" do get "/staticpages/about" expect(response).to have_http_status(:success) #以下の一文を追加 expect(response.body).to include "About | Ruby on Rails Tutorial Sample App" end end end
リスト3.43:rootルーティングに対するテスト
describe "GET /" do it "returns http success" do get "/" expect(response).to have_http_status(:success) expect(response.body).to include "Home | Ruby on Rails Tutorial Sample App" end end