Have a personal or library account? Click to login
Rspec Essentials Cover

Rspec Essentials

Develop testable, modular, and maintainable Ruby software for the real world using RSpec

Paid access
|Jul 2025
Product purchase options

Develop testable, modular, and maintainable Ruby software
for the real world using RSpec

Key Features

  • Explore the concept of testability and how to implement tests that deliver the most value
  • Maximize the quality of your Ruby code through a wide variety of tests
  • Master the real-world tradeoffs of testing through detailed examples supported by in-depth discussion

Book Description

This book will teach you how to use RSpec to write high-value
tests for real-world code. We start with the key concepts of
the unit and testability, followed by hands-on exploration of
key features. From the beginning, we learn how to integrate
tests into the overall development process to help create
high-quality code, avoiding the dangers of testing for its
own sake.
We build up sample applications and their corresponding
tests step by step, from simple beginnings to more
sophisticated versions that include databases and external
web services. We devote three chapters to web applications
with rich JavaScript user interfaces, building one from the
ground up using behavior-driven development (BDD) and
test-driven development (TDD).
The code examples are detailed enough to be realistic while
simple enough to be easily understood. Testing concepts,
development methodologies, and engineering tradeoffs are
discussed in detail as they arise. This approach is designed
to foster the reader’s ability to make well-informed decisions
on their own.

What you will learn

  • Identify a unit of software for the purposes
  • of testing
  • Manage test states with hooks, fixtures,
  • and mocks
  • Handle external web services in tests
  • using various techniques
  • Configure RSpec flexibly and cleanly using
  • support code and environment variables
  • Interact with rich web apps in tests
  • using Capybara
  • Build the right feature with behavior-driven
  • development
  • Customize matchers and failure messages
  • Verify correct development and production
  • environments

Who this book is for

This book is aimed at the software engineer who wants
to make their code more reliable and their development
process easier. It is also aimed at test engineers who need
to automate the testing of complex systems. Knowledge
of Ruby is helpful, but even someone new to the language
should find it easy to follow the code and tests.

Table of Contents

  1. Exploring testability from unit tests to behavior-driven development
  2. Specifying behavior with examples and matchers
  3. Manipulating state with doubles and hooks
  4. Optimizing development with setup and support code
  5. Simulating external services with VCR
  6. Driving web UIs with Capybara
  7. Building a real app with BDD from the outside in
  8. Tackling the challenges of end-to-end testing
  9. Verifying environments in development and production
  10. BDD for the rest of us
PDF ISBN: 978-1-78439-295-6
Publisher: Packt Publishing Limited
Copyright owner: © 2016 Packt Publishing Limited
Publication date: 2025
Language: English
Pages: 222