はじめに
本記事では、単体テストを開始するまでの流れを記述します。
今日の学習で、テストコードをあまり理解できていないことがわかったため、
アウトプットいたします。
以下、過去にテストの際に登場するメソッドなどを投稿しておりますので、
ご参照ください。
テストコード実施までの流れ
Gemの追加
RSpecを使用するのには、まずGemをインストール
する必要があります。
RSpecのGemです。
*私は、10分ほどspecのディレクトリを探しておりました。ここでGemということを再認識。
①Gemfileに記述
記述するものは「gem 'rspec-rails', '~> 4.0.0'
」です。
group :development, :test do
省略
gem 'rspec-rails', '~> 4.0.0'
end
②bundle install
省略
% cd (ディレクトリ)
% bundle install
RSpecの設定
Gemが追加できたため、
次は、アプリケーション(テストしたいディレクトリ)内でRSpecを使用します。
①アプリケーション内にRSpecをインストール
% rails g rspec:install
インストールが完了すると、
以下のようなディレクトリ・ファイルが生成されます。
[ターミナル内]
create .rspec
create spec
create spec/spec_helper.rb
create spec/rails_helper.rb
②.rspecに設定を追加する
生成された「.rspec」に以下のように記述します。
テストコードの結果
をターミナル内で確認
できるようにするための記述です。
--require spec_helper
--format documentation ←これです
テストコードを記述するファイルを用意
以下のようなコマンドを実行することで、
テストコードのテンプレート(後述)
が前もって記載されている
ファイルを生成できます。
今回は、「バリデーションができているか」という目的で、
モデルのファイルを生成したいと思います。
% rails g rspec:model user
↓
create spec/models/user_spec.rb
ファイルの生成ができました。
テストコードのテンプレート
は以下のようになっています。
require 'rails_helper'
RSpec.describe User, type: :model do
pending "add some examples to (or delete) #{__FILE__}"
end
この後からは、以下のようにテストを進めていきます。
明日以降本格的に、テストを行うことになるため、
その際に、テストの流れについて投稿いたします。
require 'rails_helper'
RSpec.describe User, type: :model do
describe 'ユーザー新規登録' do
it 'nameが空では登録できない' do
# nameが空では登録できないテストコードを記述
end
it 'emailが空では登録できない' do
# emailが空では登録できないテストコードを記述
end
end
end
たびたび失礼しますが、メソッドなどの言葉については、
過去の投稿をご参照ください。
終わりに
アプリケーションの実装訓練を毎日積んでおりますが、
今までテストコードを書いたことやテストを実施したことがなかったため、
『テストは特に行うものではないのか』と思っておりましたが、
全くの勘違い
でした。
アプリケーションを実装するのは作り手側が責任を持って作成する必要があります。
そのためには、テストを行うことは当然であることを改めて認識しました。
明日は本格的にテストを学習する予定です。
引き続き頑張ります!!