A test is only helpful if you can understand its failures. In today's episode, I'll show you one of my favorite techniques for making test output readable and intent-revealing.
Category: S8 Premium

Episode #586
Don’t Use Greater-Than
You know there are some programming language features you're just not supposed to use: goto. Global variables. The greater-than operator. Wait, the greater-than operator?! Find out why, in this guest …

Episode #585
Presenter Object
Guest chef Federico Iachetti returns to demonstrate how Presenter Objects can neatly encapsulate the gray areas between data and display, as well as help customize display for different contexts and …

Episode #584
From Hash to Value Object
Join guest chef Tom Dalling to see how Value Objects can function as contracts, documenting expectations at the integration points of our code. Along the way, learn how to use …

Episode #583
Async with the Reactor Pattern
Ever wondered how async frameworks such as Ruby's EventMachine or Node.JS work under the hood? Those frameworks are built on a technology known as the Reactor Pattern, and today we're …

Episode #582
Why GraphQL?
Join guest chef Nat Budin to see how a traditional RESTful API can lead to an inefficient client/server conversation. You'll see what a GraphQL alternative looks like, and then get …

Episode #581
Async with Multiplexing
In our quest to coordinate asynchronous tasks, we've attempted a polling approach. Unfortunately, this strategy has some significant efficiency drawbacks. This time, we'll apply a technique known as "multiplexing", to …

Episode #580
Savon & SOAP APIs
Learn how to build well-tested interfaces to legacy SOAP-based legacy web APIs from your Ruby application, from guest chef Beth Haubert!

Episode #579
Aphorism to Empiricism
Join guest chef Kerri Miller for a whirlwind tour of three essential utilities for evaluating specific qualities of a Ruby codebase. See how to map out the dependencies in a …