Library Hours
Monday to Friday: 9 a.m. to 9 p.m.
Saturday: 9 a.m. to 5 p.m.
Sunday: 1 p.m. to 9 p.m.
Naper Blvd. 1 p.m. to 5 p.m.
     
Limit search to available items
Results Page:  Previous Next
Author Donald, Greg, author.

Title Hands-On test-driven development : using Ruby, Ruby on Rails, and RSpec / Greg Donald. [O'Reilly electronic resource]

Imprint New York, NY : Apress L. P., [2024]
QR Code
Description 1 online resource (237 p.)
Note Description based upon print version of record.
Contents Intro -- Contents -- About the Author -- About the Technical Reviewer -- 1 Introduction -- What Are We Building? -- Our Database -- Why Another TDD Book? -- My Motivation -- Why You Should Trust Me -- Audience and Prerequisites -- How to Read This Book -- 2 What Is Test-Driven Development? -- Problems with Late Test Writing -- No Code Design -- Passing by Accident -- Code Spikes -- The Red-Green-Refactor Development Cycle -- Red Phase -- Green Phase -- Refactor Phase -- Wash, Rinse, and Repeat -- Advantages of Building Software Using TDD -- Code Design -- No Broken Windows
Maintaining Focus -- Acceptance Testing -- Code Quality -- Summary -- 3 Getting Started with Ruby -- Installing Homebrew -- Installing rbenv -- Installing Ruby -- Summary -- 4 Getting Started with Ruby on Rails -- Installing Bundler -- Installing Ruby on Rails -- Installing PostgreSQL -- Installing Node.js -- Creating a New Ruby on Rails Application -- Running Rails Locally -- Summary -- 5 Setting Up RSpec and FactoryBot -- Installing RSpec -- Installing FactoryBot -- Debugging -- Summary -- 6 Adding Initial Models -- The User Model -- The User Factory -- How to Run Specs
User Model Validations -- The Page Model -- RSpec's ̀̀subject'' -- FactoryBot ̀̀build'' vs. ̀̀create'' -- The Page slug -- Page Factory -- Random Test Data -- Final Thoughts on Model Validations -- User Spec Cleanup -- Advice on Writing Too Many Specs -- Summary -- 7 Creating Pages -- System Specs -- Testing Our Homepage -- A Quick Confession -- Rails View Templates -- Configuring Selenium -- Displaying Page Summaries -- Published vs. Unpublished Pages -- Displaying Published Pages -- Page Summary Ordering -- Happy Paths and System Specs -- Displaying a Single Page -- Custom Routing
Broken Specs and Warnings -- Summary -- 8 Build Homepage Contents -- View Specs -- Shared Partial Template -- More View Specs -- Homepage Layout -- CSS Framework -- Layout Template -- Sidebar Layout -- Summary -- 9 Sidebar Contents -- Search As a Service -- Implementing a Search Service -- Searching by Term -- Searching for Pages -- Adding a Search Form -- Displaying Search Results -- Pages Archive -- Creating a List of Months and Years -- Archive List View -- Archive Integration Testing -- Summary -- 10 Page Tags -- Adding Page Tags -- Creating the Tag Model -- Creating the Page Tag Model
Jumping Over Relationships -- Tagging Pages -- After Save Callbacks -- Display Tags on Pages -- Handling Missing Tags -- Refactor Duplicate Code -- Summary -- 11 Images -- Active Storage for Images -- Getting Started with Active Storage -- Adding an Image Model -- Serving Images -- Adding an Image Controller -- Summary -- 12 User Authentication -- Improving Our User Model -- Password Hashing -- Adding Fields to Our User Model -- Add a Hashing Library -- Authenticating a User -- Improving Authentication -- Password Confirmation -- Skipping Password Validation -- Summary -- 13 Administration
Note Adding Active Admin
Summary "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.".
Note Includes index.
Subject Ruby (Computer program language)
Object-oriented programming (Computer science)
Web site development -- Handbooks, manuals, etc.
Ruby (Langage de programmation)
Programmation orientée objet (Informatique)
Sites Web -- Développement -- Guides, manuels, etc.
Other Form: Print version: Donald, Greg Hands-On Test-Driven Development Berkeley, CA : Apress L. P.,c2023 9781484297476
ISBN 9781484297483 (electronic bk.)
1484297482 (electronic bk.)
Standard No. 10.1007/978-1-4842-9748-3 doi
Patron reviews: add a review
Click for more information
EBOOK
No one has rated this material

You can...
Also...
- Find similar reads
- Add a review
- Sign-up for Newsletter
- Suggest a purchase
- Can't find what you want?
More Information