Skip to Content
Hands-on Test-Driven Development: Using Ruby, Ruby on Rails, and RSpec
book

Hands-on Test-Driven Development: Using Ruby, Ruby on Rails, and RSpec

by Greg Donald
December 2023
Intermediate to advanced
237 pages
7h 50m
English
Apress

Overview

Learn to properly test Ruby and Ruby on Rails applications by first writing failing tests, and then by implementing application code to make the failing tests pass. This book will teach you how to employ test-driven development (TDD) using RSpec while building a blog from start to finish. By the end of the book, you will be ready to deploy their fully tested blog to their own production web server using the latest versions of Ruby 3 and Ruby on Rails 7.

The biggest challenge with learning and becoming comfortable with test-driven development is that software engineers often cannot imagine what writing a failing test looks like in practice. They write their implementation code first, and only then think about writing tests around their implementation code. This leads to tests that pass by accident, or tests that do not actually test anything. This book will give you the confidence to write tests in the RSpec domain-specific language. You will see your tests fail "properly" before proceeding with writing any implementation code to get them to pass.

This book covers the latest techniques for writing RSpec tests, including "system" specs, and the often overlooked "view" specs, and how to integrate RSpec with other tools like Capybara, headless Chrome, and the new web driver gem. It also covers FactoryBot for mock test data and offers experienced advice on how to avoid creating tests that fail randomly.

What You Will Learn

  • Build a blog application from start to finish using test driven development
  • Install and explore popular tools used in professional Ruby software engineering
  • Evaluate the benefits of effective testing in RSpec
  • Explore Capistrano for advanced user interface testing

 

Who Is This Book For

Beginner to intermediate Ruby software engineers who are interested in learning to use TDD with RSpec to test and build web applications using Ruby on Rails. Readers should have some basic experience with Ruby and Ruby on Rails and have read the "Getting Started with Rails" guide, or something similar.
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Learn Rails 6: Accelerated Web Development with Ruby on Rails

Learn Rails 6: Accelerated Web Development with Ruby on Rails

Adam Notodikromo

Publisher Resources

ISBN: 9781484297483Purchase LinkPublisher Website