LoginSignup
0
0

More than 3 years have passed since last update.

RailsでRspecの導入

Last updated at Posted at 2020-03-15

「Everyday Rails - RSpecによるRailsテスト入門」を一通り行ったので少しずつまとめていく。今回は導入について

Gemfile インストール

group :development, :test do
  gem 'rspec-rails', 'version'

end

rspec-railsのライブラリは、rspec-coreというrspecの核的なもの以外に、独立したgemが含まれており、Rails向けの便利機能などをパッケージとして簡単みインストールできる。
Rails以外のアプリケーションなどの場合は、これらを個別にインストールする必要がある。

記入後、bundle install を実行。

テストデータベース

 まずはテストデータベースが存在するか確認。存在しなければ作成する必要がある。config/databese.ymlを開き、自分のアプリケーションが、どのデータベースに接続しているか確認。

config/database.yml

test:
   <<: *default
database: db/test.sqlite3

初期設定を変更して居なければ、このように表示されるはず。
大事なのはdatabase: db/test.sqliteの箇所で、必要であれば自分で変更。

そして、次はターミナルからコマンドを実行しデータベースを作成。コマンドは以下の通り。

$ bin/rails db:create:all

テストデータベースが無ければ作成され、存在するなら教えてくれる。すでに存在した状態で実行しても教えてくれるだけで、データベースが消去されることはないので心配いらない。
 むしろ、確認できる。

RSpecのインストール

$ bin/rails generate rspec:install

これによってspecフォルダが作成される。ここに、テストファイルなど追加していく。その他には、spec_hepler.rb,rails_helper.rbなどのカスタマイズ するファイルが作られる。

補足:出力を読みやすくする
そのままでは読みづらいRSpecの出力を文書にして読みやすくする設定。
.rspecファイルに以下を記入。

--require spec_helper
--format documentation

binstubによる高速化

binstubをインストールするとSpringの恩恵が受けられ、テストスイートが早くなる。

Gemfile

group :development do
  gem 'spring-commands-rspec'
end 

bundle install後に以下のコマンドを実行。

$ bundle exec spring binstub rspec

これにより、binディレクトリにrpecという実行ファイルが作られる。以上で完了。

まとめ

  • Gemfile追加
  • テストデータベース作成
  • Rspecインストール
  • binstubによる高速化

参考文献 『Everyday Rails - RSpecによるRailsテスト入門』 著:Aaron Sumner  訳:伊藤淳一・秋元利春・魚振江

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0