DEV Community

Cover image for How to Setup RSpec on a Rails Project
Ajithkumar P S
Ajithkumar P S

Posted on

How to Setup RSpec on a Rails Project

At the time of writing this article using ruby 3.2.0 & Rails 7.1.2

Let's get started...

1. Create a new project

rails new rspec-test-app -d postgresql
cd rspec-test-app
rails db:create
rails s
Enter fullscreen mode Exit fullscreen mode

2. Install gems

group :development, :test do
  gem 'rspec-rails', '~> 6.1.0'
  gem 'factory_bot_rails'
  gem 'faker'
end
Enter fullscreen mode Exit fullscreen mode

3. Run below commands

bundle install
rails g rspec:install
Enter fullscreen mode Exit fullscreen mode

4. Configure factory bot

Create spec/support/factory_bot.rb file then copy & paste below code

# spec/support/factory_bot.rb
require 'rails_helper'

RSpec.configure do |config|
    config.include FactoryBot::Syntax::Methods
end

Enter fullscreen mode Exit fullscreen mode

Almost done. Now generate the user model

rails generate model User email:string password:string
rails db:migrate
Enter fullscreen mode Exit fullscreen mode

It will generate following files for us:

invoke  active_record
create  db/migrate/20231130055533_create_users.rb
create  app/models/user.rb
invoke  rspec
create  spec/models/user_spec.rb
invoke  factory_bot
create  spec/factories/users.rb
Enter fullscreen mode Exit fullscreen mode

Now run the below command and the watch the output
rspec

*

Pending: (Failures listed here are expected and do not affect your suite's status)

  1) User add some examples to (or delete) /home/spritle/p/rspec-test-app/spec/models/user_spec.rb
     # Not yet implemented
     # ./spec/models/user_spec.rb:4


Finished in 0.00287 seconds (files took 0.64832 seconds to load)
1 example, 0 failures, 1 pending
Enter fullscreen mode Exit fullscreen mode

To know more:

rspec-rails
factory_bot_rails
faker

It's done

I hope this helps you to start your journey on rspec 🚀. Thanks for reading!

Top comments (0)