diff --git a/testing-modules/spring-mockito/pom.xml b/testing-modules/spring-mockito/pom.xml
index 117da9478e..36504ab306 100644
--- a/testing-modules/spring-mockito/pom.xml
+++ b/testing-modules/spring-mockito/pom.xml
@@ -26,6 +26,9 @@
mockito-core
${mockito.version}
+
+ org.projectlombok
+ lombok
+
-
\ No newline at end of file
diff --git a/testing-modules/spring-mockito/src/main/java/com/baeldung/runners/DataProvider.java b/testing-modules/spring-mockito/src/main/java/com/baeldung/runners/DataProvider.java
new file mode 100644
index 0000000000..303cd6f7cf
--- /dev/null
+++ b/testing-modules/spring-mockito/src/main/java/com/baeldung/runners/DataProvider.java
@@ -0,0 +1,17 @@
+package com.baeldung.runners;
+
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
+
+@Component
+public class DataProvider {
+
+ private final List memory = Stream.of("baeldung", "java", "dummy").collect(Collectors.toList());
+
+ public Stream getValues() {
+ return memory.stream();
+ }
+}
diff --git a/testing-modules/spring-mockito/src/main/java/com/baeldung/runners/StringConverter.java b/testing-modules/spring-mockito/src/main/java/com/baeldung/runners/StringConverter.java
new file mode 100644
index 0000000000..0ed34cab08
--- /dev/null
+++ b/testing-modules/spring-mockito/src/main/java/com/baeldung/runners/StringConverter.java
@@ -0,0 +1,22 @@
+package com.baeldung.runners;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.stream.Collectors;
+
+@Service
+public class StringConverter {
+
+ private final DataProvider dataProvider;
+
+ @Autowired
+ public StringConverter(DataProvider dataProvider) {
+ this.dataProvider = dataProvider;
+ }
+
+ public List convert() {
+ return dataProvider.getValues().map(String::toUpperCase).collect(Collectors.toList());
+ }
+}
diff --git a/testing-modules/spring-mockito/src/main/java/com/baeldung/runners/StringConverterStarter.java b/testing-modules/spring-mockito/src/main/java/com/baeldung/runners/StringConverterStarter.java
new file mode 100644
index 0000000000..6244d9bfa7
--- /dev/null
+++ b/testing-modules/spring-mockito/src/main/java/com/baeldung/runners/StringConverterStarter.java
@@ -0,0 +1,11 @@
+package com.baeldung.runners;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+@SpringBootApplication
+public class StringConverterStarter {
+ public static void main(String[] args) {
+ SpringApplication.run(StringConverterStarter.class, args);
+ }
+}
diff --git a/testing-modules/spring-mockito/src/main/resources/application.properties b/testing-modules/spring-mockito/src/main/resources/application.properties
index 709574239b..0cae63ed98 100644
--- a/testing-modules/spring-mockito/src/main/resources/application.properties
+++ b/testing-modules/spring-mockito/src/main/resources/application.properties
@@ -1 +1,2 @@
-spring.main.allow-bean-definition-overriding=true
\ No newline at end of file
+spring.main.allow-bean-definition-overriding=true
+spring.main.web-application-type=none
\ No newline at end of file
diff --git a/testing-modules/spring-mockito/src/test/java/com/baeldung/runners/StringConverterMockitoRunnerUnitTest.java b/testing-modules/spring-mockito/src/test/java/com/baeldung/runners/StringConverterMockitoRunnerUnitTest.java
new file mode 100644
index 0000000000..80b8a8bdbb
--- /dev/null
+++ b/testing-modules/spring-mockito/src/test/java/com/baeldung/runners/StringConverterMockitoRunnerUnitTest.java
@@ -0,0 +1,30 @@
+package com.baeldung.runners;
+
+import lombok.val;
+import org.assertj.core.api.Assertions;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.InjectMocks;
+import org.mockito.Mock;
+import org.mockito.Mockito;
+import org.mockito.junit.MockitoJUnitRunner;
+
+import java.util.stream.Stream;
+
+@RunWith(MockitoJUnitRunner.class)
+public class StringConverterMockitoRunnerUnitTest {
+ @Mock
+ private DataProvider dataProvider;
+
+ @InjectMocks
+ private StringConverter stringConverter;
+
+ @Test
+ public void givenStrings_whenConvert_thenReturnUpperCase() {
+ Mockito.when(dataProvider.getValues()).thenReturn(Stream.of("first", "second"));
+
+ val result = stringConverter.convert();
+
+ Assertions.assertThat(result).contains("FIRST", "SECOND");
+ }
+}
\ No newline at end of file
diff --git a/testing-modules/spring-mockito/src/test/java/com/baeldung/runners/StringConverterSpringRunnerUnitTest.java b/testing-modules/spring-mockito/src/test/java/com/baeldung/runners/StringConverterSpringRunnerUnitTest.java
new file mode 100644
index 0000000000..4408cd71ca
--- /dev/null
+++ b/testing-modules/spring-mockito/src/test/java/com/baeldung/runners/StringConverterSpringRunnerUnitTest.java
@@ -0,0 +1,32 @@
+package com.baeldung.runners;
+
+import lombok.val;
+import org.assertj.core.api.Assertions;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mockito;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.mock.mockito.MockBean;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import java.util.stream.Stream;
+
+@ContextConfiguration(classes = StringConverter.class)
+@RunWith(SpringRunner.class)
+public class StringConverterSpringRunnerUnitTest {
+ @MockBean
+ private DataProvider dataProvider;
+
+ @Autowired
+ private StringConverter stringConverter;
+
+ @Test
+ public void givenStrings_whenConvert_thenReturnUpperCase() {
+ Mockito.when(dataProvider.getValues()).thenReturn(Stream.of("first", "second"));
+
+ val result = stringConverter.convert();
+
+ Assertions.assertThat(result).contains("FIRST", "SECOND");
+ }
+}
\ No newline at end of file
diff --git a/testing-modules/spring-mockito/src/test/java/com/baeldung/runners/StringConverterWithInitUnitTest.java b/testing-modules/spring-mockito/src/test/java/com/baeldung/runners/StringConverterWithInitUnitTest.java
new file mode 100644
index 0000000000..a41fa20ca0
--- /dev/null
+++ b/testing-modules/spring-mockito/src/test/java/com/baeldung/runners/StringConverterWithInitUnitTest.java
@@ -0,0 +1,37 @@
+package com.baeldung.runners;
+
+import lombok.val;
+import org.assertj.core.api.Assertions;
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.InjectMocks;
+import org.mockito.Mock;
+import org.mockito.Mockito;
+import org.mockito.MockitoAnnotations;
+
+import java.util.stream.Stream;
+
+public class StringConverterWithInitUnitTest {
+ @Mock
+ private DataProvider dataProvider;
+
+ @InjectMocks
+ private StringConverter stringConverter;
+
+ @Before
+ public void init() {
+ MockitoAnnotations.openMocks(this);
+ // or
+ // dataProvider = Mockito.mock(DataProvider.class);
+ // stringConverter = new StringConverter(dataProvider);
+ }
+
+ @Test
+ public void givenStrings_whenConvert_thenReturnUpperCase() {
+ Mockito.when(dataProvider.getValues()).thenReturn(Stream.of("first", "second"));
+
+ val result = stringConverter.convert();
+
+ Assertions.assertThat(result).contains("FIRST", "SECOND");
+ }
+}
\ No newline at end of file