Being able to focus on the fun creative part without any fear can make development very addictive. Extensive unit tests can buy you that! However, unit test code is still code, lots and lots of it, if done right. And it has to be maintained just like any other code. Test code can be 3x times larger than the prod code, so if your tests are not maintainable they will end up slowing you down and causing you painful headaches, compilation errors and spurious failures. To avoid that, your unit tests should be significant expressive clean DRY non-overlapping and blazing fast. They are hard to write. And they have principles you need to follow. Principles that will end up shaping the way you design your production code itself. And then it will be obvious: unit testing is all about balancing cost-benefit. It’s about maximizing the regression protection you get vs. the maintenance price you need to pay for those tests. It’s engineering. Grab a black coffee and join this extract from Victor’s Pro Unit Testing training. You will learn about testing priorities, avoiding buggy tests, testing exceptions with JUnit 5, the shared @Before nexus, guidelines for breaking an unit test, and crafting splendid expressive failures. In the end, based on the difference between a Stub and a Mock you’ll get applicable advises that can make your code a lot more testable and easy to understand, isolating tough critical logic inside a ‘circle of purity’. All of that in an entertaining, dynamic and memorable session.
Victor Rentea - Unit Testing like a Pro: The Circle of Purity