前回の続き。
#RSpecのインストール、設定
まずはRSpecを使う準備をしていきましょう。
##Gemインストール
rspec-railsをGemfileに追加、インストール。
Gemfile
group :development, :test do
gem 'rspec-rails'
end
$ bundle install
##テストDB作成
テストDBの確認。下記の設定してなければ追記する。
config/database.yml
test:
<<: *default
database: projects_test #MySQLやPostgreSQLを使っている場合
database: db/test.sqlite3 #SQLiteを使っている場合
DBの作成。
$ rails db:create:all
##RSpecインストール
$ rails generate rspec:install
ひとまず、これでRSpecのセットアップが完了しました。お疲れ様です!
このコマンドで、以下のファイルディレクトリが生成されます。
ファイル | 機能 |
---|---|
.rspec | 設定ファイル |
spec | スペックファイル入れるディレクトリ |
spec/spec_helper.rb | テストで使うヘルパーファイル |
spec/rails_helper.rb | テストで使うヘルパーファイル |
##.rspecでの設定
続いて、RSpecの設定をしていきましょう。
.rspec
--require spec_helper #spec_helperの参照
--format documentation #テスト結果を見やすいドキュメントにする
--warnings #警告全表示(エラーではないが非推奨になった処理等教えてくれる)
--warningsはテスト実行時に情報のノイズを消すため、今回は無しにしています。
##その他の設定
まずはbinstubをインストールしてテストの起動時間を速くします。
Gemfile
group :development do
gem 'spring-commands-rspec'
end
$ bundle install
続いて、rails generateコマンド実行時にどのスペックファイルを自動生成するか設定していきます。
config/application.rb
config.generators do |g|
g.test_framework :rspec,
fixtures: false,
view_specs: false,
helper_specs: false,
routing_specs: false
end
falseに設定したスペックファイルは自動生成されず、モデルとコントローラのスペックファイルのみ自動生成されるようになります。
なお、自動生成を外したスペックファイルも後から手動で生成することもできます。
#テストの実行
RSpecが正しくインストールできていれば、下記のコマンドでテストが実行できます。
$ bin/rspec