rspec-rails を使ってみる

インストール

rspec-rails の REAMD.md を参考に、Gemfile を編集する。その後 $ bundle を実行して gem をインストールする:

f:id:matt-note:20181010102018p:plain

 

初期設定をする

$ rails g rspec:install を実行して、初期設定のファイルを自動作成する:

f:id:matt-note:20181010102328p:plain

 

README.md に書いてあるとおりに $ bundle binstubs rspec-core を実行すると、以下のようにエラーが発生する:

f:id:matt-note:20181010102629p:plain

f:id:matt-note:20181010103000p:plain

 

そのため、エラーメッセージどおりに、$ bundle binstubs bundler --force を実行する。これで $ bin/rspec でテストを実行できるようになる:

f:id:matt-note:20181010103012p:plain

 

binstub を使うと、Spring の恩恵を受けることができて、テストの起動時間を短縮できるとのこと。

 

.rspec ファイルを編集する

自動生成された .rspec ファイルを以下のように編集すると、テスト結果を整えて表示してくれるようになる:

f:id:matt-note:20181010103533p:plain

 

 ディレクトリごとにテストする

それぞれディレクトリごとのテストを実行する場合は、以下のように指定して、テストの範囲を限定させることができる。ターミナルでは、spec/c まで入力して tab ボタンを押せば、spec/controllers のように自動補完されるはず。

コントローラをテストする場合

f:id:matt-note:20181017185323p:plain

モデルをテストする場合

f:id:matt-note:20181017185335p:plain

 

参考:

GitHub - rspec/rspec-rails: RSpec for Rails-3+

[Rails5.2] rspecの導入