Anglocentrism broke my tests – ignore localisation at your peril!

An issue was recently raised on the ConTabs project that sent me down a bit of a localisation rabbit hole. You see, I’d written a load of conformance tests that included example output. What I hadn’t factored in was how many of these were dependent on my locale. These would potentially fail on computers with different locales. In today’s post, I’d like to explore exactly what went wrong and how we put it right.

Continue reading

Mega mash-up: API testing with Postman, Azure DevOps and randomuser.me

Put on your aprons people – it’s recipe time. Today we’ll be cooking up a delicious batch of automated API tests. For this recipe, you’ll need a buttery Postman base, a squeeze from a random user data API, and a CI system to bake it all in (I used Azure Devops). The result is a set of golden-brown integration tests that use realistic fake data and run in the cloud on a schedule of your choosing. Sound like the sort of recipe you’d like to master? Read on… Continue reading

Postman vs Insomnia – why not both?

Just over a year ago I was emphatically singing the praises of Postman. Before that, I’d been using Fiddler to make calls to REST APIs and man, was that a drag! Recently I’ve had a similar experience when I discovered an alternative REST client called Insomnia. Unlike last time, however, I won’t be ditching the previous flavour of the month… Read on to discover why (for the time being at least) they both get a spot on my desktop.

Continue reading

Testing without compromise using InternalsVisibleTo

Have you ever wanted to test the behaviour of a method, without making it part of your public API? Have you ever been forced to choose between compromising on the encapsulation of your business logic, and ensuring that it behaves as expected? Allow me to introduce the InternalsVisibleTo attribute! In this post, we’ll look at what this lets you do, but we’ll also touch briefly on the debate surrounding its use.

Continue reading