One major focus of Swift is compile time safety — enabling us as developers to easily focus on writing code that is more predictable and less prone to runtime errors. However, sometimes things do fail for various reasons — so this week, let’s take a look at how we can handle such failures appropriately, and what tools we have at our disposal for doing so.

A lot of code that we write relies on the current date in some way. Let's take a look at how to test such code in a fast & predictable way, without having to invent a lot of infrastructure or resort to hacky solutions like swizzling the system date.