Below is a list of testing resources I’ve either used myself or heard recommended. I tried to make the list as Ruby-centric as possible, although some resources from other ecosystems are so good that I didn’t want to exclude them.
I intend this to be a living list that grows over time. If you know of something that should be on this list but isn’t, please let me know, either in a comment on this page or via email.
Disclosure statement: None of the links below are affiliate links, although I do have a relationship with some of the authors/creators of these resources.
Section One: Ruby/Rails Specific Resources
Print Book: Rails 5 Test Prescriptions
“Does your Rails code suffer from bloat, brittleness, or inaccuracy? Cure these problems with the regular application of test-driven development. You’ll use Rails 5.2, Minitest 5, and RSpec 3.7, as well as popular testing libraries such as factory_bot and Cucumber.”
Side note: you can also listen to my interview with author Noel Rappin on the Ruby Testing Podcast.
eBook: Everyday Rails Testing with RSpec
“Real-world advice for adding reliable tests to your Rails apps with RSpec, complete with expanded, exclusive content and a full sample application. Updates for 2017 now available—RSpec 3.6, Rails 5.1, and more! Learn to test with confidence!”
Screencast Series: Destroy All Software
Not everything on Destroy All Software (DAS) is testing-related but a lot of it is. I often see DAS recommended when people ask for testing-related resources.
Online Course Series: Upcase’s “Learn Testing” Courses
Summary from Upcase website:
“Test-driven development, or TDD, is the practice of writing your tests firsts, then using those tests to guide you as you write your actual production code. This may sound crazy, but it turns out that it makes writing code much easier. It provides a clear workflow and next steps while you’re building and has the added benefit of producing a test suite you can have confidence in. With these courses and videos we’ll teach you everything you need to know to get started with TDD.”
Print Book/eBook: Effective Testing with RSpec 3
Excerpt from Pragmatic Bookshelf summary:
“This definitive guide from RSpec’s lead developer shows you how to use RSpec to drive more maintainable designs, specify and document expected behavior, and prevent regressions during refactoring. Build a project using RSpec to design, describe, and test the behavior of your code. Whether you’re new to automated tests or have been using them for years, this book will help you write more effective tests.”
Print Book/eBook: Practical Object-Oriented Design in Ruby
This isn’t specifically a testing book but I’ve seen it recommended a number of times as a book that will help you write better Ruby tests.
Excerpt from summary:
“[Practical Object-Oriented Design in Ruby] explains object-oriented design (OOD) using realistic, understandable examples. POODR* is a practical, readable introduction to how OOD can lower your costs and improve your applications.”
Section Two: Non-Rails-Specific Resources
Print Book: Growing Object-Oriented Software, Guided by Tests
This book is a classic in the testing world. I first read Growing Object-Oriented Software, Guided by Tests (GOOS) when I was clueless about testing. It helped me get oriented and learn what’s what. Among the most important concepts I learned from this book is the idea of a Walking Skeleton.