Herding Code: Herding Code 117: Llewellyn Falcon on Approval Tests

This episode of Herding Code the guys talk to Llewellyn Falco about Acceptance Tests, an interesting testing framework for .NET, Java, Ruby, and PHP. Jon talks about how much he enjoyed Llewellyn’s talk on refactoring legacy code at So Cal Code Camp, and was especially intrigued by Approval Tests.

Episode synopsis

This episode of Herding Code the guys talk to Llewellyn Falco about Acceptance Tests, an interesting testing framework for .NET, Java, Ruby, and PHP.

Jon talks about how much he enjoyed Llewellyn’s talk on refactoring legacy code at So Cal Code Camp, and was especially intrigued by Approval Tests.

Llewellyn explains how Approval Tests got started at a weekly coding for gun group.

Llewellyn explains at a high level the problem that Approval Tests solves.

Jon talks about what he noticed when he tried using approval tests – it’s not really so much about writing tests as in verifying output. Llewellyn how testing at the output verification level avoids many of the pitfalls of traditional unit testing.

Jon asks about how the approved filetypes are set, and Llewellyn explains the overrides in Approvals.Approve().

Llewellyn talks about how Approvals makes it easy to test complex objects.

Llewellyn talks about how Approval Tests often only requires one test. Jon and K Scott ask about how that meshes with general testing practices which push towards very granular tests, and Llewellyn explains that he gets that granularity in the test coverage and results, but has the benefit of context in the test output as well.

Llewellyn explains how the use of Approval Tests combinations rules can make it really test output based on multiple input combinations.

Llewellyn talks about how he especially likes using Approval Tests with legacy code, since it’s relatively easy to get good, working test coverage based on output rather than having to gain a deep understanding the internals of the legacy code. Jon and Llewellyn swap war stories about legacy code.

Jon asks if he should be obsessing about a bunch of extra files with the approved results hanging around. Because he is.

Jon asks what’s in the works for Approval Tests. Llewellyn talks about RDLC support and enhancements to the Visual Studio plugin.

Jon asks what code coverage information Approval Tests can provide.

Jon asks Llewellyn about how he get involved in Teaching Kids Programming.

There’s a discussion about why it’s important to introduce computer programming to high school aged girls with a great analogy from Malcolm Gladwell’s Outliers book on the impact of birth month on competitive hockey players.

Llewellyn explains how the program works, and Jon mentions the prior show with Sara J Chipps (Herding Code 90) about Girl Develop It.