Everyday Rails Testing with RSpec (The Book: Latest Edition)
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.
Translations
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 feature specs
- 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
- 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