コントローラを作成した際にできるデフォルトのテスト
getはHomeページやHelpページがいわゆる「GET」リクエストを受け付ける普通のWebページであるということを示す。
「response:success」は、実際にはHTTPのステータスコード(ここでは200 OK)を表す。
つまり
「GETリクエストをhomeアクションに対して送信すれば、リクエストに対するレスポンスは成功になるはず」
static_pages_controller_test.rb
require 'test_helper'
class StaticPagesControllerTest < ActionDispatch::IntegrationTest
test "should get home" do
get static_pages_home_url
assert_response :success
end
test "should get help" do
get static_pages_help_url
assert_response :success
end
end
ルートの追加
ルートにstatic_pages/aboutを追加下とすると、/static_pages/aboutというURLに対してGETリクエストが来たら、StaticPagesコントローラのaboutアクションに渡すようRailsに指示している。この結果、自動的に次のようなヘルパーが使えるようになる。
static_pages_about_url
routes.rb
Rails.application.routes.draw do
get 'static_pages/home'
get 'static_pages/help'
get 'static_pages/about' #←この行を追加
root 'application#hello'
end
assert_selectメソッド
特定のHTMLタグが存在するかどうかをテストする。
assert_select "title", "Home | Ruby on Rails Tutorial Sample App"
# <title>タグに「Home | Ruby on Rails Tutorial Sample App」という文字列があるかどうかをチェックしている。
setpuメソッド
各テストが実行される直前で実行されるメソッド
def setup
@base_title = "Ruby on Rails Tutorial Sample App"
end