# Testing with RSpec (Ruby on Rails) > RSpec fundamentals, model specs, request specs, system tests (Capybara), FactoryBot, mocking, testing jobs - 24 interview questions - Mid-Level - [Interview Questions: Ruby on Rails](https://sharpskill.dev/en/technologies/ruby-on-rails/interview-questions.md) ## 1. What is the main RSpec configuration file in a Rails application? **Answer** The spec/spec_helper.rb file (or spec/rails_helper.rb for Rails tests) is the main RSpec configuration file. It loads the test environment and configures global RSpec options. In modern Rails projects, rails_helper.rb loads spec_helper.rb and adds Rails-specific configurations like loading the test environment and Rails helpers. ## 2. What is the correct syntax to define a test block (example) in RSpec? **Answer** In RSpec, an individual test is defined with it or specify followed by a description in quotes and a block. The syntax it 'description' do ... end is most common. The describe or context block groups related tests, while it defines a specific example. This natural English-readable syntax is one of RSpec's strengths. ## 3. What is the difference between describe and context in RSpec? **Answer** describe and context are functionally identical in RSpec, but follow different semantic conventions. describe is used to describe what is being tested (a class, a method), while context describes the conditions or circumstances of the test. For example, describe User followed by context 'when email is valid'. This distinction improves spec readability. ## 21 more questions available - Which RSpec matcher is used to verify that a value equals another? - How to run only the tests from a specific spec file with RSpec? Sign up for free: https://sharpskill.dev/en/login ## Other Ruby on Rails interview topics - [Ruby Basics](https://sharpskill.dev/en/technologies/ruby-on-rails/interview-questions/ruby-basics.md): 25 questions, Junior - [Ruby Object-Oriented Programming](https://sharpskill.dev/en/technologies/ruby-on-rails/interview-questions/ruby-oop.md): 20 questions, Junior - [Rails Fundamentals](https://sharpskill.dev/en/technologies/ruby-on-rails/interview-questions/rails-fundamentals.md): 18 questions, Junior - [Routing & Controllers](https://sharpskill.dev/en/technologies/ruby-on-rails/interview-questions/routing-controllers.md): 22 questions, Junior - [ActiveRecord Basics](https://sharpskill.dev/en/technologies/ruby-on-rails/interview-questions/active-record-basics.md): 25 questions, Junior - [Views & ERB Templates](https://sharpskill.dev/en/technologies/ruby-on-rails/interview-questions/views-erb-templates.md): 20 questions, Junior - [ActiveRecord Associations](https://sharpskill.dev/en/technologies/ruby-on-rails/interview-questions/active-record-associations.md): 24 questions, Mid-Level - [Advanced ActiveRecord Queries](https://sharpskill.dev/en/technologies/ruby-on-rails/interview-questions/active-record-queries.md): 28 questions, Mid-Level - [Rails Forms](https://sharpskill.dev/en/technologies/ruby-on-rails/interview-questions/rails-forms.md): 20 questions, Mid-Level - [Authentication & Authorization](https://sharpskill.dev/en/technologies/ruby-on-rails/interview-questions/authentication-authorization.md): 22 questions, Mid-Level - [Modern Asset Pipeline & Frontend](https://sharpskill.dev/en/technologies/ruby-on-rails/interview-questions/rails-asset-pipeline.md): 18 questions, Mid-Level - [Rails API Mode](https://sharpskill.dev/en/technologies/ruby-on-rails/interview-questions/rails-api-mode.md): 20 questions, Mid-Level - [ActiveJob & Background Jobs](https://sharpskill.dev/en/technologies/ruby-on-rails/interview-questions/active-job-background-jobs.md): 20 questions, Mid-Level - [ActionCable & WebSockets](https://sharpskill.dev/en/technologies/ruby-on-rails/interview-questions/action-cable-websockets.md): 18 questions, Mid-Level - [ActionMailer](https://sharpskill.dev/en/technologies/ruby-on-rails/interview-questions/action-mailer.md): 18 questions, Mid-Level - [ActiveStorage](https://sharpskill.dev/en/technologies/ruby-on-rails/interview-questions/active-storage.md): 20 questions, Mid-Level - [Caching Strategies](https://sharpskill.dev/en/technologies/ruby-on-rails/interview-questions/caching-strategies.md): 20 questions, Mid-Level - [Advanced Migrations](https://sharpskill.dev/en/technologies/ruby-on-rails/interview-questions/database-migrations-advanced.md): 20 questions, Mid-Level - [Rails Engines & Modular Apps](https://sharpskill.dev/en/technologies/ruby-on-rails/interview-questions/rails-engines-modular-apps.md): 18 questions, Senior - [Performance Optimization](https://sharpskill.dev/en/technologies/ruby-on-rails/interview-questions/performance-optimization.md): 26 questions, Senior - [Rails Design Patterns](https://sharpskill.dev/en/technologies/ruby-on-rails/interview-questions/rails-design-patterns.md): 22 questions, Senior - [Ruby Metaprogramming](https://sharpskill.dev/en/technologies/ruby-on-rails/interview-questions/ruby-metaprogramming.md): 20 questions, Senior - [Rails Security](https://sharpskill.dev/en/technologies/ruby-on-rails/interview-questions/rails-security.md): 22 questions, Senior - [GraphQL with Rails](https://sharpskill.dev/en/technologies/ruby-on-rails/interview-questions/graphql-rails.md): 20 questions, Senior - [Deployment & Production](https://sharpskill.dev/en/technologies/ruby-on-rails/interview-questions/rails-deployment-production.md): 20 questions, Senior - [Monitoring & Logging](https://sharpskill.dev/en/technologies/ruby-on-rails/interview-questions/monitoring-logging.md): 20 questions, Senior - [Rails Upgrade Strategies](https://sharpskill.dev/en/technologies/ruby-on-rails/interview-questions/rails-upgrade-strategies.md): 18 questions, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/en/technologies/ruby-on-rails/interview-questions/rails-testing-rspec