JUnit 4, which came out in 2006, was the first update in five years that JUnit received, but at the time of writing, its adoption is still quite marginal, as most Java projects are still using JUnit 3.
 Unless specified otherwise, the term JUnit used throughout this book refers to JUnit 3.
 Certain programming languages such as C# or Eiffel offer mechanisms that make this observation irrelevant. Unfortunately, Java doesn’t have any similar feature, and we are therefore forced to follow this suggestion, which has a tendency to make Java classes much more verbose than they could be.
 Even this simple rule of thumb can be argued in many ways. For example, many programmers tend to stay away from protected ...