Variables de entorno con junit 5
Cuando estas testeando código que por alguna razón dependa de alguna variable de entorno o Properties en java puedes usar junit-jupiter.
Variable que se quiere mockear en java
String testVarible = System.getenv("testVarible");
Dependencies
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<version>5.8.1</version>
<scope>test</scope>
</dependency>
Ejemplo:
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.extension.ExtendWith;
import org.junit.jupiter.api.Test;
import uk.org.webcompere.systemstubs.environment.EnvironmentVariables;
import uk.org.webcompere.systemstubs.jupiter.SystemStub;
@ExtendWith(SystemStubsExtension.class)
public class test {
@SystemStub
private static EnvironmentVariables environmentVariables=new EnvironmentVariables();
@BeforeAll
public static void beforeAll() {
environmentVariables.set("testVarible", "value1");
}
@Test
public void TestEven1() throws FileNotFoundException {
environmentVariables.set("testVarible", "EstaEsMiVariable");
}
si usas JUnit 4 podrías usar
happy code :).
Referencia