モデルのテストコードを書けるようになる

はじめてのRSpec - まずテスト書いてからコード書くシンプルなチュートリアル

RSpecによるユニットテストの書き方 — recompile.net

Ruby on Rails チュートリアル:実例を使って Rails を学ぼう

Rails5でRSpec入門 - bagelee(ベーグリー)

【Rails入門】RSpecを使ったテスト方法を初心者向けに基本から解説 | 侍エンジニア塾ブログ | プログラミング入門者向け学習情報サイト

 

RSpecの設定

group :development, :test do
gem 'rspec-rails', '~> 3.5'
end

bundle install

rails g rspec:install

〜テスト方法〜

bundle exec rspec

 

今回はとりあえず

Blogのtitleを必須項目にして、入力されているかどうかのテストとして2つテストを作る

 

spec/models/blog_spec.rb

require 'rails_helper'

describe Blog do
it "titleがあれば有効な状態であること" do
blog = Blog.new(title: "hey")
expect(blog).to be_valid
end
it "titleがなければ無効な状態であること" do
blog = Blog.new(title: "")
expect(blog).not_to be_valid
end
end

このテストを通すために

 

app/models/blog.rb

class Blog < ApplicationRecord
has_many :entries, :dependent => :destroy
validates :title, presence: true
end

このvalidatesを入れる。