There was an article on Reddit recently talking about how upgrading to JUnit 5 can help you write better tests. I thought it would be fun to write a similar article, but instead of JUnit 5, talking about Specnaz, my Java and Kotlin testing library.
In the Java programming language, static final fields can never be reassigned after the class they belong to has been loaded. Given that, you might be surprised that they go through a two-phase initialization process: they are first assigned their type's default value, and only after that their ultimate value. This sounds surprising at first – why bother initializing something that is constant twice? But as it turns out, there are some subtleties in Java that make this necessary. In this article, we dive into those corner-cases.
In this article, I want to talk about what I believe is the fundamental principle underlying all successful software development: shortening the feedback loop.
All articles »