diff --git a/spring-boot-modules/spring-boot-3/src/main/java/com/baeldung/springjunitconfiguration/Person.java b/spring-boot-modules/spring-boot-3/src/main/java/com/baeldung/springjunitconfiguration/Person.java new file mode 100644 index 0000000000..097af2ad1c --- /dev/null +++ b/spring-boot-modules/spring-boot-3/src/main/java/com/baeldung/springjunitconfiguration/Person.java @@ -0,0 +1,15 @@ +package com.baeldung.springjunitconfiguration; + +public class Person { + + String name; + + public Person(String name) { + this.name = name; + } + + public String getName() { + return this.name; + } + +} \ No newline at end of file diff --git a/spring-5/src/test/java/com/baeldung/jupiter/SpringJUnitConfigIntegrationTest.java b/spring-boot-modules/spring-boot-3/src/test/java/com/baeldung/springjunitconfiguration/SpringJUnitConfigIntegrationTest.java similarity index 94% rename from spring-5/src/test/java/com/baeldung/jupiter/SpringJUnitConfigIntegrationTest.java rename to spring-boot-modules/spring-boot-3/src/test/java/com/baeldung/springjunitconfiguration/SpringJUnitConfigIntegrationTest.java index 5f81c94aa0..a163ef893c 100644 --- a/spring-5/src/test/java/com/baeldung/jupiter/SpringJUnitConfigIntegrationTest.java +++ b/spring-boot-modules/spring-boot-3/src/test/java/com/baeldung/springjunitconfiguration/SpringJUnitConfigIntegrationTest.java @@ -1,6 +1,4 @@ -package com.baeldung.jupiter; - -import static org.junit.Assert.assertNotNull; +package com.baeldung.springjunitconfiguration; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; @@ -8,9 +6,11 @@ import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.Configuration; import org.springframework.test.context.junit.jupiter.SpringJUnitConfig; +import static org.junit.Assert.assertNotNull; + /** * @SpringJUnitConfig(SpringJUnitConfigTest.Config.class) is equivalent to: - * + * * @ExtendWith(SpringExtension.class) * @ContextConfiguration(classes = SpringJUnitConfigTest.Config.class ) * @@ -18,10 +18,6 @@ import org.springframework.test.context.junit.jupiter.SpringJUnitConfig; @SpringJUnitConfig(SpringJUnitConfigIntegrationTest.Config.class) public class SpringJUnitConfigIntegrationTest { - @Configuration - static class Config { - } - @Autowired private ApplicationContext applicationContext; @@ -30,4 +26,8 @@ public class SpringJUnitConfigIntegrationTest { assertNotNull(applicationContext); } + @Configuration + static class Config { + } + } diff --git a/spring-boot-modules/spring-boot-3/src/test/java/com/baeldung/springjunitconfiguration/SpringJUnitConfigurationUnitTest.java b/spring-boot-modules/spring-boot-3/src/test/java/com/baeldung/springjunitconfiguration/SpringJUnitConfigurationUnitTest.java new file mode 100644 index 0000000000..79486e6b3e --- /dev/null +++ b/spring-boot-modules/spring-boot-3/src/test/java/com/baeldung/springjunitconfiguration/SpringJUnitConfigurationUnitTest.java @@ -0,0 +1,23 @@ +package com.baeldung.springjunitconfiguration; + +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.ValueSource; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.test.context.junit.jupiter.SpringJUnitConfig; +import org.springframework.test.context.support.AnnotationConfigContextLoader; + +import java.util.List; + +import static org.assertj.core.api.Assertions.assertThat; + +@SpringJUnitConfig(classes = TestConfig.class, loader = AnnotationConfigContextLoader.class) +public class SpringJUnitConfigurationUnitTest { + + @ParameterizedTest + @ValueSource(strings = { "Dilbert", "Wally" }) + void givenPeopleList_whenSetPeopleWithName_thenListContainsOnePerson(String name, @Autowired List people) { + assertThat(people.stream() + .map(Person::getName) + .filter(name::equals)).hasSize(1); + } +} diff --git a/spring-5/src/test/java/com/baeldung/jupiter/SpringJUnitWebConfigIntegrationTest.java b/spring-boot-modules/spring-boot-3/src/test/java/com/baeldung/springjunitconfiguration/SpringJUnitWebConfigIntegrationTest.java similarity index 94% rename from spring-5/src/test/java/com/baeldung/jupiter/SpringJUnitWebConfigIntegrationTest.java rename to spring-boot-modules/spring-boot-3/src/test/java/com/baeldung/springjunitconfiguration/SpringJUnitWebConfigIntegrationTest.java index 4c3ffda203..0ccb988e0a 100644 --- a/spring-5/src/test/java/com/baeldung/jupiter/SpringJUnitWebConfigIntegrationTest.java +++ b/spring-boot-modules/spring-boot-3/src/test/java/com/baeldung/springjunitconfiguration/SpringJUnitWebConfigIntegrationTest.java @@ -1,6 +1,4 @@ -package com.baeldung.jupiter; - -import static org.junit.Assert.assertNotNull; +package com.baeldung.springjunitconfiguration; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; @@ -8,9 +6,11 @@ import org.springframework.context.annotation.Configuration; import org.springframework.test.context.junit.jupiter.web.SpringJUnitWebConfig; import org.springframework.web.context.WebApplicationContext; +import static org.junit.Assert.assertNotNull; + /** * @SpringJUnitWebConfig(SpringJUnitWebConfigTest.Config.class) is equivalent to: - * + * * @ExtendWith(SpringExtension.class) * @WebAppConfiguration * @ContextConfiguration(classes = SpringJUnitWebConfigTest.Config.class ) @@ -19,10 +19,6 @@ import org.springframework.web.context.WebApplicationContext; @SpringJUnitWebConfig(SpringJUnitWebConfigIntegrationTest.Config.class) public class SpringJUnitWebConfigIntegrationTest { - @Configuration - static class Config { - } - @Autowired private WebApplicationContext webAppContext; @@ -31,4 +27,8 @@ public class SpringJUnitWebConfigIntegrationTest { assertNotNull(webAppContext); } + @Configuration + static class Config { + } + } diff --git a/spring-boot-modules/spring-boot-3/src/test/java/com/baeldung/springjunitconfiguration/TestConfig.java b/spring-boot-modules/spring-boot-3/src/test/java/com/baeldung/springjunitconfiguration/TestConfig.java new file mode 100644 index 0000000000..859aff9d9b --- /dev/null +++ b/spring-boot-modules/spring-boot-3/src/test/java/com/baeldung/springjunitconfiguration/TestConfig.java @@ -0,0 +1,19 @@ +package com.baeldung.springjunitconfiguration; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +@Configuration +public class TestConfig { + + @Bean + Person dilbert() { + return new Person("Dilbert"); + } + + @Bean + Person wally() { + return new Person("Wally"); + } + +} \ No newline at end of file