1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

RSpecの準備 

Last updated at Posted at 2021-01-03

この投稿は、自己学習の備忘録です。

railstutorialを一通り学習し、テストをminitestからRSpecへ書き換えようと思いたったことがこの記事を執筆しようとしたキッカケです。

私自身にとって初めての投稿ですが、もしこの投稿がご覧頂いた方のヒントになっていれば幸いです。
##rails new時のオプション##

$ rails new --skip-test --skip-bunlde

デフォルのminitestとbundle install をスキップしておく。

gemの追加

```ruby:Gemfile group :development, :test do gem 'rspec-rails' gem 'spring-commands-rspec' gem 'capybara' gem 'factory_bot_rails' gem 'faker' gem 'selenium-webdriver' gem 'database_cleaner' end ``` ```terminal $ bundle install --without production --path=vender/bundle ``` ↑PCないのシステムのgemと混同しないようにするため

##RSpec用の初期ファイルのインストール##

$ rails g rspec:install
Running via Spring preloader in process 9045
      create  .rspec
      create  spec
      create  spec/spec_helper.rb
      create  spec/rails_helper.rb

##Springを使用したRSpecの導入##
springを使用することでRSpecの実行時間を短縮することができる。
そのために先ほど追加したgem 'spring-commands-rspec'を使用する。
RSpecのstubファイル(./bin/rspec)を作成する。

$ bundel exec spring binstub rspec

bin/rspecファイルが作成され、RSpecを実行するとspringが使えるようになる。

*'spring-commands-rspec':bin/rspecのコマンドを実行するときに必要となる。RSpecはbin/コマンドをつけることでSpringと言うRailsに組み込まれているアプリを起動させて処理を高速化できる。RSpec自体はrspecと入力するだけで使用可能。

##config/environments/test.rbの編集##

config/environments/test.rb
config.active_support.deprecation = :stderr
         ↓非推奨レポートをどこに出力するかの設定に変更 
config.active_support.deprecation = :silence

##とりあえずrails db:migrate RAILS_ENV=testを実行##

$ rails db:migrate RAILS_ENV=test

##.rspecファイルの編集##

.rspec
--require spec_helper
--format documentation :テストを通過した文言が表示されるようになる
--color

今回は以上!
Qiitaでの記事の書き方結構独特なんですね
最低でも月に2記事は投稿できるように頑張ります!
頑張るぞ、2021年!

1
2
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
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?