CARVIEW |
Test-Driven Development with Rails Studio
with Jim Weirich and Joe O'Brien
Testing is the cornerstone of building high-quality software, but it doesn't have to bog you down. Rather, testing can actually help you deliver new features quicker by eliminating debugging time, minimizing re-work, and reducing the cost (and fear!) of changing existing code.
Rails gives you basic tools for starting to write tests, but how do you use these tools (and others) on a daily basis to build high-quality web applications? Let us show you how!
In this Studio, you'll learn how to do test-driven development by actually doing it. We'll help you get oriented in the testing mindset with a solid foundation of practices, and then quickly build on those with advanced techniques and tools. You'll experience a powerful synergy between testing and design that helps you write better software, faster!
“Pragmatic Studios always rock! When you offered TDD as an option, I knew it would be an amazingly valuable time. Jim and Joe were fantastic as was networking with peers. Prag Studios have the best format.”
—Jae Hess
Who Gives the Studio?
Jim Weirich and Joe O'Brien. In this Studio you'll learn directly from two renowned experts on Ruby, Rails, and test-driven development.

Jim Weirich has been active in the software development world for over twenty-five years. Jim is very active in the Ruby community and has contributed to several Ruby projects including the Rake build system, the FlexMock mocking library, and the RubyGems package management software. Jim is the Chief Scientist for EdgeCase, LLC.

Joe O'Brien has spent his career as a developer, project manager, and everything in between. Before helping found EdgeCase, LLC, Joe was a developer with ThoughtWorks and spent much of his time working with large J2EE and .NET systems for Fortune 500 companies. He also co-founded the Columbus Ruby Brigade and helped organize the Chicago Area Ruby Users Group.
Who’s It For?

Web application developers. This Studio is taught by programmers for programmers who have some experience with Rails and a working knowledge of Ruby.
This Studio is right for you if:
- You have worked on at least one Rails application
- You are comfortable in Ruby
- You've struggled with testing in Rails including when to start, how to do it "the right way", and how to continue writing tests when the real world interferes
- You've wondered what all the fuss is about mocking
- You're ready to take your current testing practices to the next level!
This Studio is not an introduction to Rails or Ruby. If you're not quite comfortable with Rails or Ruby, then consider attending the Rails Studio or Ruby Studio.
What Will I Learn?
Testing Techniques and Tools You Can Apply Immediately
A solid foundation of practices will help you get started writing tests and keep writing (and running!) them when the pressure is on.
- Write good tests with Test::Unit—assertions, test cases, test fixtures, and validation vs. verification
- Code with confidence in the Red/Green/Refactor cycle
- Capitalize on the testing investment through continuous integration
Rails strives to make testing easy, but it assumes a certain style and vocabulary. We'll show you what works best for us.
- Test Rails models, views, and controllers
- Validate the use cases of your application with integration tests that read like software requirements
- Identify the boundaries of unit, functional, and integration tests
- Learn time-saving helper methods and special assertions that come with Rails, and how to write your own
- Create fixtures of test data to keep tests decoupled and repeatable, and learn how to avoid fixture pitfalls
- Automate testing chores with Rake for better repeatability
Once you're comfortable with the basics, it's time to learn the advanced techniques that help you write more effective tests.
- Isolate tests through mocking and stubbing for faster test cycles and improved application designs
- Refactor tests to remove dependencies that slow down the testing cycle
- Track and measure test effectiveness through code coverage and path coverage using Rcov

How we are testing is just as important as what we're testing, and behavior-driven development has become very popular in the Rails community. Don't get left behind!
- Learn how to install, configure, and use RSpec for behavior-driven development
- Create high-value and more maintainable tests that concentrate on behavior rather than state
Writing Rails unit, functional, and integration tests is a good start, but it's not the end of the story.
- Learn how to use Selenium and Watir for acceptance testing through the eyes of the browser
- More tools, tips, and techniques used by the pros
What's a Studio Like?

Interactive Learning. In a Studio you learn in a significantly different way than reading through the books. Attending a Studio complements what you may have read, but in an interactive environment where you'll:
- get your questions answered by the experts, and your peers
- discuss up-to-date topics that aren't in the books
- learn techniques from live coding sessions
- cement the concepts you've learned in the books
We think Studio offers the best developer training there is. But don't take our word for it. Just ask our alumni. Check out their reviews and applications they've built! The Studio experience continues after the Studio with our members-only alumni mailing list.
“The strictly guarded Alumni group is one of the best programming resources I have ever seen.”
What Should I Bring?

You and Your Laptop. It wouldn't be a programming workshop if you didn't walk away having written some code. You'll be most productive on the laptop you use regularly. (On average, 60% bring Mac OS X, 30% bring Windows, and 10% bring Linux.)
A few weeks before the Studio, we'll send out detailed instructions for installing everything you'll need. During the Studio, you'll get hands-on experience working through prepared exercises, and experimenting on your own, too.
Studio Details
Course Schedule
This studio runs from 9am — 5pm on the first 2 days and from 9am — 4:30pm on the last day.
Why Colorado in June?
Mix work and play. Kick off your summer with a weekend in the great Rocky Mountains — white water rafting, hiking, camping, exploring. Then, learn how to build killer Rails apps during the week. More reasons…
Keep in Touch
Alumni Comments
- “Jim and Joe's presentation styles were excellent. I loved how they bounced ideas off of each other throughout. The pacing was perfect. I didn't feel rushed or bored at any point.” — Adam McCrea
- “[I liked] the great exposure to a variety of tools, the great presenters who kept it interesting, and the great discussions.” — Drew Banning
Related Resources
![]() |
Agile Web Development with Rails |
Copyright © 2005–2008, The Pragmatic Studio. All Rights Reserved.
The Pragmatic Studio is offered in cooperation with the Pragmatic Programmers, LLC. The Ruby Logo is Copyright © Yukihiro Matsumoto. Photos courtesy of James Duncan Davidson and Dave Thomas.