データベースの環境について

rails ではデフォルトで3つのデータベースの環境が準備されている

  1. development (開発)環境
  2. test (テスト)環境
  3. production (本番)環境

detabase.yml に記載されている。

RSpec でテストをするときは、テスト環境の DB が使われる

<データベースを分ける理由>

実際にテストをする時に1度リセットをかけてからテストをおこなうので分けていないと開発環境のものもリセットされてしまう。

User model のテストを準備する

RSpec のテストファイル

spec ディレクトリ配下に作られる!

# user model のテストファイルを作成する
# --force で強制的に作成する

$ bundle exec rails g model user --force

User model のテストの概要を書く

テスト対象(User model)を確認しよう!

class User < ApplicationRecord
	validates :account, presence: true, uniqueness: { case_sensitive: false}
end
  1. account カラムが存在していること
  2. account カラムがユニーク(大文字と小文字は区別しない)であること

spec ファイルの構文