When we write tests for our data access code, we must follow these three rules: Our tests must use the real database schema. Our tests must be deterministic. Our tests must assert the right thing. These rules are obvious. That is why it is surprising that some developers break them (I have broken them too […] Read more
When we write tests for our data access code, should we test every method of its public API? It sounds natural at first. After all, if we don't test everything, how can we know that our code works as expected? That question provides us an important clue: Our code. We should write tests only to […] Read more
The first thing that we have to do before we can start writing integration tests for our data access code is to decide how we will configure our test cases. We have two options: the right one and wrong one. Unfortunately many developers make the wrong choice. How can we avoid making the same mistake? […] Read more
A few years ago I was one of those developers who write unit tests for my data access code. I was testing everything in isolation, and I was pretty pleased with myself. I honestly thought that I was doing a good job. Oh boy was I wrong! This blog post describes why we shouldn’t write […] Read more
It is challenging, if not impossible, to create real life applications which don't have any external dependencies. That is why dependency management is a vital part of every software project. This blog post describes how we can manage the dependencies of our projects with Gradle. We will learn to configure the used repositories and the […] Read more
This blog post describes how we can compile and package a simple Java project by using Gradle. Our Java project has only one requirement: Our build script must create an executable jar file. In other words, we must be able to run our program by using the command: Let's find out how we can fulfil […] Read more