この投稿は、自己学習の備忘録です。
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.active_support.deprecation = :stderr
↓非推奨レポートをどこに出力するかの設定に変更
config.active_support.deprecation = :silence
##とりあえずrails db:migrate RAILS_ENV=testを実行##
$ rails db:migrate RAILS_ENV=test
##.rspecファイルの編集##
--require spec_helper
--format documentation :テストを通過した文言が表示されるようになる
--color
今回は以上!
Qiitaでの記事の書き方結構独特なんですね
最低でも月に2記事は投稿できるように頑張ります!
頑張るぞ、2021年!