Devon C. Estes

Three Classes of Problems Found by Mutation Testing

It's fairly common for folks who haven't used mutation testing previously to not immediately see the value in the practice. Mutation testing is, after all, still a fairly niche and under-used tool in the average software development team's toolbox. So today I'm going to show a few specific types of relatively common problems that mutation testing is great at finding for us (and that humans are notoriously bad at finding). »

Announcing Muzak and Muzak Pro

As of today, Muzak and Muzak Pro are live! If you follow me on twitter you may have seen some hints that I've been making some good progress recently on the mutation testing library that I've been working on for close to a year now, and I think things are in a good enough place to push up the first versions of both Muzak and Muzak Pro. »

Testing Third Party Integrations

One thing that is always hard, regardless of what language you're working in, is testing integrations with third party services. I mean, how are you going to test something like uploading files to S3 without actually uploading the file to S3?! The answer to that is usually "mocking," but then there comes the question of how exactly one does that. Well, today I'm going to show how I test these sorts of things in code I work on. »

Writing (and testing) a custom Credo check

I've previously written about why one might want to write custom Credo checks, but I didn't talk about the way I actually like to go about doing it in that post, so today I'm going to break down my workflow for writing custom Credo checks. »

Unit Tests in Elixir - Part 3

In part 1 of this series I went over a couple rules that I follow when writing unit tests, and in part 2 I showed how to unit test GenServers. Today, though, we're gonna be getting our hands dirty and breaking some of those rules that I laid out in part 1. I mean, what good are rules if you don't break them every now and then! »