Chapter 06

バックエンドのテスト基盤の整備(RSpec)

hibriiiiidge
hibriiiiidge
2020.10.22に更新
このチャプターの目次

それでは、続いてバックエンドのテスト基盤の整備を進めていきます。

バックエンドのテスト基盤の整備

バックエンドは RSpec を用いてて実装していきます。

Gemfilerspec-rails を追加します。

group :development, :test do
  gem 'rspec-rails'
end
$ docker-compose backend /bin/bash
> bundle install
# config ファイルを生成します
> bin/rails generate rspec:install
      create  .rspec
      create  spec
      create  spec/spec_helper.rb
      create  spec/rails_helper.rb
# Task モデルの model spec を作成します
> bin/rails g rspec:model task

生成された task_spec.rb にテストを記述します。

# zenn-app/backend/spec/models/task_spec.rb

require 'rails_helper'

RSpec.describe Task, type: :model do
  let(:task) { described_class.new(title: title) }
  let(:title) { 'タイトル' }

  describe '#valid?' do
    subject { task.valid? }

    context 'タイトルが入っている場合' do
      it { is_expected.to be_truthy }
    end

    context 'タイトルがnilの場合' do
      let(:title) { nil }

      it { is_expected.to be_falsy }
    end
  end
end

テストを追加したら、テストを実行します。

> bundle exec rspec
..

Finished in 0.0908 seconds (files took 1.01 seconds to load)
2 examples, 0 failures

テストが実行されて、パスすれば OK です。

参考: