[Rails]RSpecことはじめ ~使いやすい環境構築~
最近テストにはまっています。
いらんことに脳のリソースをさかれない状態で開発を進めたいですよね。
そんなわけで今回は、Ruby on Railsの代表的なテストツールRSpecをご紹介します。
ことばの紹介
まずは知らない方もいるかと思うので、ことばの紹介から。
わかってるよ!って人は飛ばしてください。
RSpecとは
こちらの記事が分かりやすかったので引用させていただきます。
RSpec とは、Ruby における BDD (behavior driven development、ビヘイビア駆動開発) のためのテストフレームワークです。 BDD という言葉に聞き慣れないかもしれませんが、 テストコードを、自然言語を用いて要求仕様のように (Spec = 仕様) 記述するための手法です。
テストによって振る舞いを決めるためのツールということですね。
TDD(テスト駆動開発)の基盤となっているBDDという概念についてはまた別記事でご紹介したいと思います。
使ってみましょう
それでは早速RSpecを使ってみましょう。
僕が個人的にイチオシの本があるので、こちらをもとに進めます。
Everyday Rails - RSpecによるRailsテスト入門
さて、早速ですがGemfile
に以下を追記してください。
# 省略
group :development, :test do
# 省略
gem 'rspec-rails'
gem 'factory_bot_rails'
end
その後bundle install
を実行してください。
そのまま脳死で 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
その後、それぞれのファイルを編集していきましょう。
config.generators do |g|
g.test_framework :rspec,
fixtures: false,
view_specs: false,
helper_specs: false,
routing_specs: false
end
--require spec_helper
--format documentation
# 省略
RSpec.configure do |config|
# 省略
config.include FactoryBot::Syntax::Methods
end
こんな感じで設定すれば、キレイに動くはずです。
またテストの書き方については別記事で書きますね。
今日はこのあたりで。
参考にした記事
- [Docker知識不要]Docker上でのHugo環境の作り方
- HugoでWebサイトを立ち上げる+テーマを適用してみる
- Hugo Part 2 - Hugo で github にブログを立ち上げる
- hugo-theme-dreamのドキュメント