RSpecのインストール、簡単な動作確認を行いました。
インストール
(公式Githubを参考にしました。
まずはGemfileに下記を追加。
Gemfileのgroupを初めて知りました。
group :development, :test do gem 'rspec-rails', '~> 3.0' end
bundle install でgemを入れた後は下コマンドでspecディレクトリを作成。
$ rails generate rspec:install
これでrspecを使う準備は完了です。
下記コマンドで実際に動かす事ができます。
$ bundle exec rspec
使い方
テストの書き方
require 'spec_helper' describe 'about nil' do it 'is nil' do s = nil expect(s).to eq(nil) end it 'nil? method test' do s = nil expect(s.nil?).to eq(true) end end
テストファイルは上記のように記述します。
describeは大項目を表します。
今回は引数に文字列を入れましたが、StringやArray等といったクラスを引数に渡す事が多いようです。
itはテストの挙動を記述するメソッドで、代わりにexampleを使う事もできます。
テストファイルのルール
テストファイルはspecフォルダ作成します。
命名規則ですが_spec.rbを末尾に付けた名前で作成すれば「bundle exec rspec」コマンドで実行してくれます。
フォルダに入れたファイルも見てくれるので見やすくフォルダ分けするのが一般的みたいです。
Modelへのテストの書き方
Modelに対するテストを作るには下記のようなコマンドを使います。
今回はUserモデルに対するテストを作っています。
$ rails g rspec:model user
テストは下記のように記述します。
require 'rails_helper' RSpec.describe User, :type => :model do it 'create test' do expect(User.first).to eq(nil) User.create! expect(User.first).not_to eq(nil) User.first.delete end end
まとめ
今回はRSpecのインストールと簡単な使い方について書いてみました。
RSpecはかなり分かりやすくできているので書き方はすぐに覚えられそうです。
次はmodel以外のテストも書いていきたいと思います。