Everyday Rails Testing with RSpec (The Book: Latest Edition)
$19.00
Minimum price
$39.00
Suggested price

Everyday Rails Testing with RSpec

A practical approach to test-driven development

About the Book

Built a couple of Rails applications, but struggling with reliable test coverage? Does your application testing consist of clicking around in the browser, hoping you catch everything before your customers do?

It's a common experience for new Ruby on Rails developers! Testing and test-driven development are crucial, but many tutorials don't delve deeply into these components. In Everyday Rails Testing with RSpec, you'll learn tried-and-true techniques for writing clear, effective, maintainable tests in RSpec—in turn, building more trustworthy features for your customers, and saving countless hours refreshing your browser.

  • Share this book

  • Categories

    • Software
    • Ruby on Rails
    • Testing
    • Automated Software Testing
    • Web Development
  • Feedback

    Email the Author(s)

Translations

About the Author

Aaron Sumner
Aaron Sumner

Aaron Sumner is a software developer and educator who has helped thousands of programmers level up their software engineering skills. In his blog, Everyday Rails, Aaron shows how he leverages tools from the Ruby ecosystem to be a productive developer, even when time and other resources are tight.

Table of Contents

  • Preface to this edition
  • Acknowledgements
  • 1. Introduction
    • Confident testing
    • Why RSpec?
    • Who should read this book
    • My testing philosophy
    • How the book is organized
    • Downloading the sample code
    • Code conventions
    • Discussion and errata
    • A note about gem versions
    • A note about styling
    • About the sample application
  • 2. Setting up RSpec
    • Dependencies
    • Test database
    • RSpec configuration
    • The rspec binstub
    • Try it out!
    • Summary
    • Exercises
  • 3. Model specs
    • Anatomy of a model spec
    • Creating a model spec
    • The RSpec syntax
    • Testing validations
    • Testing instance methods
    • Testing class methods and scopes
    • Testing all the cases
    • More about matchers
    • Summary
    • Exercises
  • 4. DRY enough specs
    • Describing contexts in RSpec
    • DRYer test setup and teardown
    • How DRY is too DRY?
    • Summary
    • Exercises
  • 5. Creating meaningful test data
    • Factories or fixtures?
    • Installing factory_bot
    • Adding factories to the application
    • Generating unique data with sequences
    • Associations in factories
    • Using factories safely
    • Summary
    • Exercises
  • 6. Testing controllers
    • Basic request specs
    • Testing user authentication
    • Testing user authorization
    • Testing user input
    • Summary
    • Exercises
  • 7. Next level request specs
    • Testing invalid user input
    • Simplifying test data with factory_bot traits
    • Testing non-HTML requests and responses
    • Summary
    • Exercises
  • 8. Testing the user interface with system specs
    • Why system specs?
    • System spec dependencies
    • A basic system spec
    • Simulating browser interactions with Capybara
    • Debugging system specs
    • Testing JavaScript interactions
    • System testing strategies
    • Summary
    • Exercises
  • 9. Keeping specs DRY
  • 10. Writing tests faster, and writing faster tests
  • 11. Testing the rest
  • 12. Toward test-driven development
  • 13. Parting advice
    • Practice testing the small things
    • Be aware of what you’re doing
    • Short spikes are OK
    • Write a little, test a little is also OK
    • Try to write integration specs first
    • Make time for testing
    • Keep it simple
    • Don’t revert to old habits!
    • Use your tests to make your code better
    • Sell others on the benefits of automated testing
    • Keep practicing
    • Goodbye, for now
  • More testing resources for Rails
  • More testing resources for Rails
    • RSpec
    • Rails testing
  • About Everyday Rails
  • About the author
  • Colophon

The Leanpub 60 Day 100% Happiness Guarantee

Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.

Now, this is technically risky for us, since you'll have the book or course files either way. But we're so confident in our products and services, and in our authors and readers, that we're happy to offer a full money back guarantee for everything we sell.

You can only find out how good something is by trying it, and because of our 100% money back guarantee there's literally no risk to do so!

So, there's no reason not to click the Add to Cart button, is there?

See full terms...

Earn $8 on a $10 Purchase, and $16 on a $20 Purchase

We pay 80% royalties on purchases of $7.99 or more, and 80% royalties minus a 50 cent flat fee on purchases between $0.99 and $7.98. You earn $8 on a $10 sale, and $16 on a $20 sale. So, if we sell 5000 non-refunded copies of your book for $20, you'll earn $80,000.

(Yes, some authors have already earned much more than that on Leanpub.)

In fact, authors have earnedover $14 millionwriting, publishing and selling on Leanpub.

Learn more about writing on Leanpub

Free Updates. DRM Free.

If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).

Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.

Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.

Learn more about Leanpub's ebook formats and where to read them

Write and Publish on Leanpub

You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses!

Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks.

Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. (Or, if you are producing your ebook your own way, you can even upload your own PDF and/or EPUB files and then publish with one click!) It really is that easy.

Learn more about writing on Leanpub