Java

5 Reasons Why Business Exceptions Are a Bad Idea

I recently had a conversation about exception handling. I argued that business exceptions are a good thing because they clearly mark the possible failures of a business method.

Read more

3 Steps to Fix NoSuchMethodErrors and NoSuchMethodExceptions

A NoSuchMethodError occurs when we’re calling a method that does not exist at runtime. The method must have existed at compile time, since otherwise the compiler would have refused to compile the class calling that method with an error: cannot find symbol.

Read more

Definitive Guide to the JaCoCo Gradle Plugin

As discussed in my article about 100% Code Coverage*, a code coverage tool should provide the means not only to measure code coverage, but also to enforce it.

Read more

Combining Object Mother and Fluent Builder for the Ultimate Test Data Factory

To test our business code we always need some kind of test data. This tutorial explains how to do just that with the Object Mother pattern and why we should combine it with a Fluent Builder to create test data factories that are fun to work with.

Read more

How to Configure a Human-Readable Logging Format with Logback and Descriptive Logger

In a previous Tip, I proposed to use a human-readable logging format so that we can quickly scan a log to find the information we need.

Read more

A Fully Automated Open Source Release Chain with Gradle and Travis CI

“Release early, release often”. This philosophy should be a goal for every software project. Users can only give quality feedback when they have early access to a software release.

Read more