Clean Code

Writing Clean Tests - Java 8 to the Rescue

In the previous part of this tutorial we solved some common problems found from “clean” unit tests by using nested configuration. I was very happy with the final test class, but after a while I realized that something was bothering me. The only problem was that I couldn’t figure out what it was. I ignored […] Read more

12 Tools That I Use for Writing Unit and Integration Tests

I think that software development is more than just a job. I see myself as an artisan who is trying to get better every day. The "easiest way" to do this is to find a few good tools and find the answers to these questions: When should I use the tool X? How should I […] Read more

Writing Clean Tests - Small Is Beautiful

We have learned that "clean" unit tests might not be as clean as we think. We have done our best to make our unit tests as clean as possible. Our tests are formatted properly, use domain-specific language, and avoid excessive mocking. Nevertheless, our unit tests are not clean because: When we make changes to the […] Read more

Spring Framework has a good support for injecting property values found from properties files into bean or @Configuration classes. However, if we inject individual property values into these classes, we will face some problems. This blog post identifies these problems and describes how we can solve them. Let’s get started. If you use Spring Boot, […] Read more

Writing Clean Tests - Trouble in Paradise

If our code has obvious faults, we are very motivated to improve it. However, at some point we decide that our code is "good enough" and move on. Typically this happens when we think that the benefits of improving our existing code are smaller than the required work. Of course, if we underestimate our return […] Read more

Writing Just Enough Documentation

One of the misconception that is often associated with agile software development is that agile teams won’t write any technical documentation. I assume that this misconception is so common because the agile manifesto states that we should value working software over comprehensive documentation. Also, since some of us have experience from writing long technical documents […] Read more