0
0

More than 3 years have passed since last update.

【railsチュートリアル 3章】テスト関連

Last updated at Posted at 2020-08-23

コントローラを作成した際にできるデフォルトのテスト

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
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0