LoginSignup
0
0

More than 3 years have passed since last update.

【Rails】RSpecでアプリの挙動をテストする

Posted at

はじめに

RSpecのfeatureのテストします。
featureのテストとはぽちぽち手動でやるテストをプログラムで自動でやるって感じです
何か文字列を投稿する時を例に説明すると以下のような手順になります。
1. 投稿できるページにアクセスする
2. 入力フォームに入力する
3. 投稿ボタンをクリックする
4. リダイレクト先を確認する

実装時に手動でテストを行うとこんな感じでテストを進めると思います
この操作をRSpecを使うと自動でテストできます。

では実際にやっていきましょう!!

テストコード

今回はRSpecの公式ページのコード(ちょっと編集済)を使って説明していきたいと思います。

spec/features/widget_management_spec.rb
require "rails_helper"

RSpec.feature "Widget management", :type => :feature do
  scenario "User creates a new widget" do
    visit "/widgets/new"

    fill_in "name", :with => "My Widget"
    click_button "Create Widget"

    expect(page).to have_text("Widget was successfully created.")
  end
end
  • scenario
    • モデル、コントローラーのテストとは違って、describecontextitは使用しません。featurescenarioを使います
    • describecontext) = feature
    • it = scenarioだと思って使って行けばだいたいOKです
  • visit "/widgets/new"
    • URL/widgets/newにアクセスします
  • fill_in "name", :with => "My Widget"
    • id名がnameのフォームにMy Widgetを記入します
  • click_button "Create Widget"
    • Create Widgetと表示されているボタンをクリックする
  • expect(page).to have_text("Widget was successfully created.")
    • リダイレクトした先のpageWidget was successfully created.というテキストが含まれているかどうかをテストする

以上が挙動のテストです

気になるところ、疑問などあれば質問、コメントよろしくお願いいたします!!!

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