就業説明会に参加していると、RSpecでテストを書けるようにしておいた方がいいということを聞きます。
という訳で、勉強しているのですが、テストコードを記載するファイル(〇〇_spec.rb)を生成する方法で手間取ってしまったため、記録しておきます。
1:Gemの追加
Gemfileに以下を記述。
1 2 3 4 |
group :development, :test do # 省略 gem 'rspec-rails' end |
その後、bundle installして、 テストに必要なファイルをrails gで作成
1 2 |
$ bundle install $ rails g rspec:install |
テスト結果をドキュメント形式にするため、.rspecに以下を記述
1 |
--format documentation |
rspecの実行ファイルを作成
(※この辺りはあまり理解していない・・・)
1 2 |
$ bundle binstubs rspec-core $ bundle binstubs bundler --force |
2:モデルの作成
普通に作りたいモデルとテーブルを、rails gで作成。
今回はblogで作って見ましょうか。
1 |
$ rails g model blog title:string content:text |
すると、テスト環境を実装しているため、自動的にspec/models/blog_spec.rbというファイルが作成されます。
その後は、マイグレーションを実行して、blog_spec.rbにテストコードを書いていけば良いと。
先にモデルを作成して、後からテスト環境を実装した場合
で、詰まってしまったのはここからで、私の場合、先にモデルを作成してしまい、後からRSpecを導入しました。
そういう場合、blog_spec.rbを作成するにはどうすれば良いのか?
結論としては、以下のコマンドを実行すればできました。
1 |
$ rails g rspec:model blog |
rspec:modelの後に作成したいモデル名を入れれば良い様子。
これで、blog_spec.rbを作成することが出来ました。
それでは!
コメント