-- Leo's gemini proxy

-- Connecting to g.mikf.pl:1965...

-- Connected

-- Sending request

-- Meta line: 20 text/gemini

Mocking/stubbing sys environment variables in Java unit testing

Scavenging the codebases for ways to do it, two main libraries exploiting reflection were found for this:

JUnit Pioneer

https://junit-pioneer.org/docs/environment-variables

org.junit-pioneer junit-pioneer

import org.junitpioneer.jupiter.SetEnvironmentVariable

These are per-test-method annotations for JUnit5.

System Stubs by Webcompere

https://github.com/webcompere/system-stubs

uk.org.webcompere system-stubs-core | system-stubs-junit4 | system-stubs-jupiter

Core - "system stub object" with setters and an execute method that is given a lambda

JUnit 4 - a @Rule annotation for a "rule object" with setters and acting on the whole test class

https://github.com/webcompere/system-stubs/blob/main/system-stubs-junit4/README.md

Junit 5 - an extension creating instances for parametrizing test methods or as test class field (initialized BeforeEach implicitly from annotation)

https://github.com/webcompere/system-stubs/blob/main/system-stubs-jupiter/README.md

(old) System Rules for Java 6/7 and JUnit 4.9+

System Stubs JUnit4 Test Rules Plugin was made equivalent to previously existing System Rules project.

https://stefanbirkner.github.io/system-rules/index.html

-- Response ended

-- Page fetched on Tue May 21 18:25:06 2024