Windows10+WSL2でEveryday Rails – RSpecによるRailsテスト入門(Rails7.0版)を写経してみる(2)RSpecのセットアップ
前回、Everyday Rails – RSpecによるRailsテスト入門を購入し、日本語版(Rails7.0版)のソースコードをダウンロードしてテストが実行できることを確認し、"git checkout origin/01-untested"により、第2章の最初の状態に戻しました。
今回は、その状態から、 日本語版(Rails7.0版)のソースコードの第2章を写経していきたいと思います。
Windows10+WSL2でEveryday Rails – RSpecによるRailsテスト入門(Rails 7.0)を写経してみる 目次
開発環境
Windows 10 Pro 21H1
Hyper-Vを有効化
VisualStudioCode (wsl用の拡張機能インストール済み)
WSL2 Ubuntu 20.04 LTS
rbenv
ruby 3.1
nvm
node.js LTS最新版
yarn
sqlite3
google-chrome-stable
Gemfileにrspec-railsを追加してbundle install
今回のコードには、諸事情によりgem 'rspec-rails’が書かれた状態なのですが、本来は、Railsアプリの初期状態には書かれていないので、Gemfileのgroup :development, :test doのところに、以下のように gem 'rspec-rails’ を追記します。
group :development, :test do
# Railsで元から追加されているgemは省略
gem 'rspec-rails'
end
Gemfileを編集したら、本来は、ターミナル画面で以下を入力します(今回はやりません。)。
bundle install
これにより、rspec-railsがインストールされて、rspecが利用できるようになります。
テストデータベース
config/database.yml を確認します。development, testのデータベースとして、sqlite3が設定されていました。
ターミナル画面に以下を入力して、データベースを作成します。
bin/rails db:create:all
あれれ、already exists と出ますが、気にしないで進めます。
RSpecの設定
以下のコマンドでRSpecをインストールします。
bin/rails generate rspec:install
.rspec ファイルを開き、一番下に以下を追記します。
--format documentation
ターミナル画面に以下を入力して、テストを実行します。
budle exec rspec
うまく動いたようです。
ジェネレータ
“rails g controller posts"などを実行したときに、rspec関連のファイルが自動的によい感じに作成されるように、以下の設定を行います。
config/application.rbを開き、module Projects より下のコードを、以下のように書き換えます。(日本語版は、g.factory_bot false 追加。コロン":"が入るのか入らないのかわかりづらい、、、)
module Projects
class Application < Rails::Application
config.load_defaults 7.0
config.generators do |g|
g.test_framework :rspec,
fixtures: false,
view_specs: false,
helper_specs: false,
routing_specs: false
g.factory_bot false
end
end
end
(変更前)
(変更後)
第2章終了
以下を入力します。
git add .
git commit -m "finish chapter2"
ディスカッション
コメント一覧
まだ、コメントがありません