Crea variables de entorno para test junit java

Agrega variables de entorno para test junit java.

Cuando estamos utilizando variables de entorno en una aplicación java se nos complica el mockeo de las variables privadas ejemplo

 private  String testVarible = System.getenv("testVarible");

Esta no se podría mockear `  System.getenv("testVarible");` porque es de tipo privada.

Bueno hay una librería que puedes utilizar para crear variables de entorno, agregar la siguiente libreria en el pom.xml.

    <dependency>
          <groupId>com.github.stefanbirkner</groupId>
            <artifactId>system-rules</artifactId>
            <version>1.18.0</version>
            <scope>test</scope>
        </dependency>

Para utilizarla tienes que utilizarla de la siguiente manera

environmentVariables.set("testVarible",  "EstaEsMiVariable")

Ejemplo:

@RunWith(MockitoJUnitRunner.class)
public class test {
    @Rule
    public final EnvironmentVariables environmentVariables = new EnvironmentVariables();
    
      @Test
    public void TestEven1() throws FileNotFoundException {
    
            environmentVariables.set("testVarible",  "EstaEsMiVariable");

    
    }

Dato importante

si por alguna razón el test lo están haciendo sobre un docker, hay podrías utilizar las variables de entorno nativo del sistema operativo del docker.

happy code :).

Referencia

System Rules
A collection of JUnit rules for testing code that uses java.lang.System.