Book description
Develop testable, modular, and maintainable Ruby software for the real world using RSpec
About This Book
- 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
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.
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
In Detail
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.
Style and approach
This comprehensive tutorial is packed with real-world examples of testing with RSpec. The most important features of RSpec are introduced in the early chapters and are used in examples of growing complexity in the following chapters. Concepts and methodologies are discussed in detail.
Table of contents
-
RSpec Essentials
- Table of Contents
- RSpec Essentials
- Credits
- About the Author
- About the Reviewers
- www.PacktPub.com
- Preface
- 1. Exploring Testability from Unit Tests to Behavior-Driven Development
- 2. Specifying Behavior with Examples and Matchers
- 3. Taking Control of State with Doubles and Hooks
- 4. Setting Up and Cleaning Up
- 5. Simulating External Services
- 6. Driving a Web Browser with Capybara
- 7. Building an App from the Outside In with Behavior-Driven Development
- 8. Tackling the Challenges of End-to-end Testing
- 9. Configurability
- 10. Odds and Ends
- Index
Product information
- Title: RSpec Essentials
- Author(s):
- Release date: April 2016
- Publisher(s): Packt Publishing
- ISBN: 9781784395902
You might also like
book
Learning Rails 5
If you’re a web developer or designer ready to learn Ruby on Rails, this hands-on guide …
book
Rails™ AntiPatterns: Best Practice Ruby on Rails™ Refactoring
The Complete Guide to Avoiding and Fixing Common Rails 3 Code and Design Problems identifies these …
book
Rails 5 Test Prescriptions
Does your Rails code suffer from bloat, brittleness, or inaccuracy? Cure these problems with the regular …
video
Learn Ruby the Hard Way
The media elements for Learn Ruby the Hard Way demonstrate key points in the text.