RSpecの基礎
RSpecの導入
code:Gemfile
group :development, :test do
gem 'rspec-rails'
end
code:bash
$ bundle install
$ rails g rspec:install
$ rspec # 動作確認
自動生成されるファイルを設定する
code:config/initializers/generators.rb
# アプリケーションの設定はここに書けば自動的に読み込んでくれるらしい(Rails5)
# 従来の通り config/application.rb に書いても問題はない
Rails.application.config do |config|
config.generators do |g|
g.test_framework :rspec,
# モデル作成時にfixtureが作成されるか
fixtures: false,
# ビュー作成時にViewSpecがry
view_specs: false,
helper_specs: false,
routing_specs: false,
# ここのコントローラ作成時に作成されるテストはRequestSpecにしておくべき
controller_specs: false,
request_specs: true
# FactoryBot使うならfixtures: trueにして以下を追記すれば提要されたものが自動生成されたと思う
# g.fixture_replacement :factory_bot, dir: "spec/factories"
end
end
testの雛形の作成
code:bash
$ rails g rspec:model User # Userモデルのテスト
$ rails g rspec:controller users # users_controllerのテスト
$ rails g rspec:scaffold Post # PostのMVC+routing+requestsのテスト
RSpecの基礎的な書き方を学べます
RSpecのマッチャについて学べます
モックとは何か
ブラウザ操作を伴うテスト