A photo of Geoffrey Hayward

Java JUnit: Reset a singleton

Published February 28, 2018

Illustration of Java code resetting a singleton in a JUnit.

Java singleton’s are hard to unit test because the state of the singleton is altered as each test runs. But for testing sake you can reset the singleton’s state use reflection. Here is an example that worked for me.

@Before
public void setup() throws NoSuchFieldException, IllegalAccessException {
        Field instance = SomeSingleton.class.getDeclaredField("set");
        instance.setAccessible(true);
        instance.setBoolean(null, false);
}

I hope this helps.

Latest Posts

And abstract image of programming code surrounded by a light bulb.

Notes on Successfully Running Ubuntu in VirtualBox

January 26, 2024

As a Software Developer who likes to use Ubuntu for Development but can sometimes only run it as just another window in Windows, I would like to share some nuanced VirtualBox configurations I built up over the years.

Continue reading
And abstract image of programming code surrounded by a light bulb.

Setting Default Values in GitHub Actions Workflows

October 20, 2023

GitHub Actions is a powerful platform for automating workflows and tasks in your software development process. When creating workflows, you often need to set default values for variables or parameters, especially when certain values are not always going to be provided. In this blog post, let’s explore two techniques to set default values in GitHub Actions workflows, including a handy ! contains() approach and the double pipe || hack. We’ll also discuss the potential limitations of the double pipe hack.

Continue reading
A post style illustration of a slack slash command that shows an Octocat

Triggering a GitHub Actions Workflow with a Slack Slash Command

May 10, 2021

In this post I am going to show how you can trigger a GitHub Actions workflow with a Slack Slash command.

Continue reading