BAEL-4742-Guide-To-System-Stubs
This commit is contained in:
parent
683215b2fe
commit
390b864ff3
|
@ -9,6 +9,7 @@
|
||||||
<groupId>com.baeldung</groupId>
|
<groupId>com.baeldung</groupId>
|
||||||
<artifactId>testing-modules</artifactId>
|
<artifactId>testing-modules</artifactId>
|
||||||
<version>1.0.0-SNAPSHOT</version>
|
<version>1.0.0-SNAPSHOT</version>
|
||||||
|
<relativePath>../</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<dependencies>
|
<dependencies>
|
||||||
|
@ -24,6 +25,44 @@
|
||||||
<version>${system-lambda.version}</version>
|
<version>${system-lambda.version}</version>
|
||||||
<scope>test</scope>
|
<scope>test</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>uk.org.webcompere</groupId>
|
||||||
|
<artifactId>system-stubs-jupiter</artifactId>
|
||||||
|
<version>${system-stubs.version}</version>
|
||||||
|
<scope>test</scope>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>uk.org.webcompere</groupId>
|
||||||
|
<artifactId>system-stubs-junit4</artifactId>
|
||||||
|
<version>${system-stubs.version}</version>
|
||||||
|
<scope>test</scope>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<!-- System Stubs requires more up to date JUnit 5 -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.junit.jupiter</groupId>
|
||||||
|
<artifactId>junit-jupiter</artifactId>
|
||||||
|
<version>${junit.jupiter.version}</version>
|
||||||
|
<scope>test</scope>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.junit.jupiter</groupId>
|
||||||
|
<artifactId>junit-jupiter-engine</artifactId>
|
||||||
|
<version>${junit.jupiter.version}</version>
|
||||||
|
<scope>test</scope>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.junit.jupiter</groupId>
|
||||||
|
<artifactId>junit-jupiter-params</artifactId>
|
||||||
|
<version>${junit.jupiter.version}</version>
|
||||||
|
<scope>test</scope>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.junit.jupiter</groupId>
|
||||||
|
<artifactId>junit-jupiter-api</artifactId>
|
||||||
|
<version>${junit.jupiter.version}</version>
|
||||||
|
<scope>test</scope>
|
||||||
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
<build>
|
<build>
|
||||||
|
@ -39,5 +78,7 @@
|
||||||
<properties>
|
<properties>
|
||||||
<system-rules.version>1.19.0</system-rules.version>
|
<system-rules.version>1.19.0</system-rules.version>
|
||||||
<system-lambda.version>1.0.0</system-lambda.version>
|
<system-lambda.version>1.0.0</system-lambda.version>
|
||||||
|
<system-stubs.version>1.0.0</system-stubs.version>
|
||||||
|
<junit.jupiter.version>5.6.2</junit.jupiter.version>
|
||||||
</properties>
|
</properties>
|
||||||
</project>
|
</project>
|
||||||
|
|
|
@ -0,0 +1,49 @@
|
||||||
|
package com.baeldung.systemstubs;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
import org.junit.jupiter.api.extension.ExtendWith;
|
||||||
|
import uk.org.webcompere.systemstubs.environment.EnvironmentVariables;
|
||||||
|
import uk.org.webcompere.systemstubs.jupiter.SystemStub;
|
||||||
|
import uk.org.webcompere.systemstubs.jupiter.SystemStubsExtension;
|
||||||
|
import uk.org.webcompere.systemstubs.properties.SystemProperties;
|
||||||
|
|
||||||
|
import static com.github.stefanbirkner.systemlambda.SystemLambda.restoreSystemProperties;
|
||||||
|
import static com.github.stefanbirkner.systemlambda.SystemLambda.withEnvironmentVariable;
|
||||||
|
import static org.junit.Assert.assertEquals;
|
||||||
|
|
||||||
|
@ExtendWith(SystemStubsExtension.class)
|
||||||
|
class SystemLambdaComparisonUnitTest {
|
||||||
|
@SystemStub
|
||||||
|
private EnvironmentVariables environmentVariables =
|
||||||
|
new EnvironmentVariables("ADDRESS", "https://www.baeldung.com");
|
||||||
|
|
||||||
|
@SystemStub
|
||||||
|
private SystemProperties systemProperties = new SystemProperties();
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void aSingleSystemLambda() throws Exception {
|
||||||
|
restoreSystemProperties(() -> {
|
||||||
|
System.setProperty("log_dir", "test/resources");
|
||||||
|
assertEquals("test/resources", System.getProperty("log_dir"));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void multipleSystemLambdas() throws Exception {
|
||||||
|
restoreSystemProperties(() -> {
|
||||||
|
withEnvironmentVariable("URL", "https://www.baeldung.com")
|
||||||
|
.execute(() -> {
|
||||||
|
System.setProperty("log_dir", "test/resources");
|
||||||
|
assertEquals("test/resources", System.getProperty("log_dir"));
|
||||||
|
assertEquals("https://www.baeldung.com", System.getenv("URL"));
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void multipleSystemStubs() {
|
||||||
|
System.setProperty("log_dir", "test/resources");
|
||||||
|
assertEquals("test/resources", System.getProperty("log_dir"));
|
||||||
|
assertEquals("https://www.baeldung.com", System.getenv("ADDRESS"));
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue