diff --git a/testing-modules/junit-5/README.md b/testing-modules/junit-5/README.md
index 5101f92928..1f78e7c9c6 100644
--- a/testing-modules/junit-5/README.md
+++ b/testing-modules/junit-5/README.md
@@ -1,7 +1,6 @@
### Relevant Articles:
- [A Guide to JUnit 5 Extensions](https://www.baeldung.com/junit-5-extensions)
- [Inject Parameters into JUnit Jupiter Unit Tests](https://www.baeldung.com/junit-5-parameters)
-- [Mockito and JUnit 5 – Using ExtendWith](https://www.baeldung.com/mockito-junit-5-extension)
- [The Order of Tests in JUnit](https://www.baeldung.com/junit-5-test-order)
- [Running JUnit Tests Programmatically, from a Java Application](https://www.baeldung.com/junit-tests-run-programmatically-from-java)
- [Testing an Abstract Class With JUnit](https://www.baeldung.com/junit-test-abstract-class)
diff --git a/testing-modules/mockito-2/README.md b/testing-modules/mockito-2/README.md
index 4bd2ff9759..6fd71bf305 100644
--- a/testing-modules/mockito-2/README.md
+++ b/testing-modules/mockito-2/README.md
@@ -6,7 +6,5 @@
- [Mockito and Fluent APIs](https://www.baeldung.com/mockito-fluent-apis)
- [Mocking the ObjectMapper readValue() Method](https://www.baeldung.com/mockito-mock-jackson-read-value)
- [Introduction to Mockito’s AdditionalAnswers](https://www.baeldung.com/mockito-additionalanswers)
-- [Mockito – Using Spies](https://www.baeldung.com/mockito-spy)
-- [Using Mockito ArgumentCaptor](https://www.baeldung.com/mockito-argumentcaptor)
- [Difference Between when() and doXxx() Methods in Mockito](https://www.baeldung.com/java-mockito-when-vs-do)
- [Overview of Mockito MockSettings](https://www.baeldung.com/mockito-mocksettings)
diff --git a/testing-modules/mockito-3/.gitignore b/testing-modules/mockito-3/.gitignore
deleted file mode 100644
index 38fe5148c1..0000000000
--- a/testing-modules/mockito-3/.gitignore
+++ /dev/null
@@ -1,4 +0,0 @@
-/target/
-/.settings/
-/.classpath
-/.project
\ No newline at end of file
diff --git a/testing-modules/mockito-3/README.md b/testing-modules/mockito-3/README.md
deleted file mode 100644
index c9766031a3..0000000000
--- a/testing-modules/mockito-3/README.md
+++ /dev/null
@@ -1,3 +0,0 @@
-### Relevant Articles:
-
-- [Mocking Static Methods With Mockito](https://www.baeldung.com/mockito-mock-static-methods)
diff --git a/testing-modules/mockito-3/pom.xml b/testing-modules/mockito-3/pom.xml
deleted file mode 100644
index 70c76f15ff..0000000000
--- a/testing-modules/mockito-3/pom.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
- 4.0.0
- mockito-3
- 0.0.1-SNAPSHOT
- mockito-3
- jar
-
-
- com.baeldung
- testing-modules
- 1.0.0-SNAPSHOT
-
-
-
-
- org.mockito
- mockito-inline
- ${mockito.version}
- test
-
-
-
-
\ No newline at end of file
diff --git a/testing-modules/mockito-3/src/main/resources/logback.xml b/testing-modules/mockito-3/src/main/resources/logback.xml
deleted file mode 100644
index 7d900d8ea8..0000000000
--- a/testing-modules/mockito-3/src/main/resources/logback.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
- %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/testing-modules/mockito-simple/README.md b/testing-modules/mockito-simple/README.md
new file mode 100644
index 0000000000..56b3482c60
--- /dev/null
+++ b/testing-modules/mockito-simple/README.md
@@ -0,0 +1,23 @@
+### Mockito Articles that are also part of the e-book
+
+This module contains articles about Mockito that are also part of an Ebook.
+
+## Relevant articles:
+
+- [Getting Started with Mockito @Mock, @Spy, @Captor and @InjectMocks](https://www.baeldung.com/mockito-annotations)
+- [Mockito When/Then Cookbook](https://www.baeldung.com/mockito-behavior)
+- [Mockito’s Mock Methods](https://www.baeldung.com/mockito-mock-methods)
+- [Mockito Verify Cookbook](https://www.baeldung.com/mockito-verify)
+- [Mockito ArgumentMatchers](https://www.baeldung.com/mockito-argument-matchers)
+- [Mockito – Using Spies](https://www.baeldung.com/mockito-spy)
+- [Using Mockito ArgumentCaptor](https://www.baeldung.com/mockito-argumentcaptor)
+- [Mocking Void Methods with Mockito](https://www.baeldung.com/mockito-void-methods)
+- [Mocking Static Methods With Mockito](https://www.baeldung.com/mockito-mock-static-methods)
+- [Mock Final Classes and Methods with Mockito](https://www.baeldung.com/mockito-final)
+- [Mocking Exception Throwing using Mockito](https://www.baeldung.com/mockito-exceptions)
+- [Mockito and JUnit 5 – Using ExtendWith](https://www.baeldung.com/mockito-junit-5-extension)
+
+
+### NOTE:
+
+Since this is a module tied to an e-book, it should **not** be moved or used to store the code for any further article.
diff --git a/testing-modules/mockito-simple/pom.xml b/testing-modules/mockito-simple/pom.xml
new file mode 100644
index 0000000000..af0c63520a
--- /dev/null
+++ b/testing-modules/mockito-simple/pom.xml
@@ -0,0 +1,88 @@
+
+
+ 4.0.0
+ mockito-simple
+ mockito-simple
+
+
+ com.baeldung
+ parent-java
+ 0.0.1-SNAPSHOT
+ ../../parent-java
+
+
+
+
+ org.springframework
+ spring-web
+ ${spring-framework.version}
+
+
+ org.springframework
+ spring-core
+ ${spring-framework.version}
+
+
+ org.springframework
+ spring-context
+ ${spring-framework.version}
+
+
+ org.springframework.data
+ spring-data-jpa
+ ${spring-data.version}
+
+
+ org.eclipse.persistence
+ javax.persistence
+ ${javax.persistence.version}
+
+
+
+ org.apache.commons
+ commons-lang3
+ ${commons-lang3.version}
+
+
+
+ org.springframework.boot
+ spring-boot-starter
+ ${spring-boot.version}
+ test
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+ ${spring-boot.version}
+ test
+
+
+ org.mockito
+ mockito-junit-jupiter
+ ${mockito.version}
+ test
+
+
+
+
+ mockito-simple
+
+
+ src/main/resources
+ true
+
+
+
+
+
+ 2.0.4.RELEASE
+ 5.0.8.RELEASE
+ 2.0.9.RELEASE
+
+ 2.0.2
+ 2.1.1
+
+
+
diff --git a/testing-modules/spring-mockito/src/main/java/com/baeldung/app/api/Flower.java b/testing-modules/mockito-simple/src/main/java/com/baeldung/app/api/Flower.java
similarity index 100%
rename from testing-modules/spring-mockito/src/main/java/com/baeldung/app/api/Flower.java
rename to testing-modules/mockito-simple/src/main/java/com/baeldung/app/api/Flower.java
diff --git a/testing-modules/spring-mockito/src/main/java/com/baeldung/app/api/MessageApi.java b/testing-modules/mockito-simple/src/main/java/com/baeldung/app/api/MessageApi.java
similarity index 100%
rename from testing-modules/spring-mockito/src/main/java/com/baeldung/app/api/MessageApi.java
rename to testing-modules/mockito-simple/src/main/java/com/baeldung/app/api/MessageApi.java
diff --git a/testing-modules/spring-mockito/src/main/java/com/baeldung/app/rest/FlowerController.java b/testing-modules/mockito-simple/src/main/java/com/baeldung/app/rest/FlowerController.java
similarity index 100%
rename from testing-modules/spring-mockito/src/main/java/com/baeldung/app/rest/FlowerController.java
rename to testing-modules/mockito-simple/src/main/java/com/baeldung/app/rest/FlowerController.java
diff --git a/testing-modules/spring-mockito/src/main/java/com/baeldung/app/rest/MessageController.java b/testing-modules/mockito-simple/src/main/java/com/baeldung/app/rest/MessageController.java
similarity index 100%
rename from testing-modules/spring-mockito/src/main/java/com/baeldung/app/rest/MessageController.java
rename to testing-modules/mockito-simple/src/main/java/com/baeldung/app/rest/MessageController.java
diff --git a/testing-modules/spring-mockito/src/main/java/com/baeldung/domain/model/Message.java b/testing-modules/mockito-simple/src/main/java/com/baeldung/domain/model/Message.java
similarity index 100%
rename from testing-modules/spring-mockito/src/main/java/com/baeldung/domain/model/Message.java
rename to testing-modules/mockito-simple/src/main/java/com/baeldung/domain/model/Message.java
diff --git a/testing-modules/spring-mockito/src/main/java/com/baeldung/domain/service/FlowerService.java b/testing-modules/mockito-simple/src/main/java/com/baeldung/domain/service/FlowerService.java
similarity index 100%
rename from testing-modules/spring-mockito/src/main/java/com/baeldung/domain/service/FlowerService.java
rename to testing-modules/mockito-simple/src/main/java/com/baeldung/domain/service/FlowerService.java
diff --git a/testing-modules/spring-mockito/src/main/java/com/baeldung/domain/service/MessageService.java b/testing-modules/mockito-simple/src/main/java/com/baeldung/domain/service/MessageService.java
similarity index 100%
rename from testing-modules/spring-mockito/src/main/java/com/baeldung/domain/service/MessageService.java
rename to testing-modules/mockito-simple/src/main/java/com/baeldung/domain/service/MessageService.java
diff --git a/testing-modules/junit-5/src/main/java/com/baeldung/junit5/mockito/User.java b/testing-modules/mockito-simple/src/main/java/com/baeldung/junit5/mockito/User.java
similarity index 100%
rename from testing-modules/junit-5/src/main/java/com/baeldung/junit5/mockito/User.java
rename to testing-modules/mockito-simple/src/main/java/com/baeldung/junit5/mockito/User.java
diff --git a/testing-modules/junit-5/src/main/java/com/baeldung/junit5/mockito/repository/MailClient.java b/testing-modules/mockito-simple/src/main/java/com/baeldung/junit5/mockito/repository/MailClient.java
similarity index 100%
rename from testing-modules/junit-5/src/main/java/com/baeldung/junit5/mockito/repository/MailClient.java
rename to testing-modules/mockito-simple/src/main/java/com/baeldung/junit5/mockito/repository/MailClient.java
diff --git a/testing-modules/junit-5/src/main/java/com/baeldung/junit5/mockito/repository/SettingRepository.java b/testing-modules/mockito-simple/src/main/java/com/baeldung/junit5/mockito/repository/SettingRepository.java
similarity index 100%
rename from testing-modules/junit-5/src/main/java/com/baeldung/junit5/mockito/repository/SettingRepository.java
rename to testing-modules/mockito-simple/src/main/java/com/baeldung/junit5/mockito/repository/SettingRepository.java
diff --git a/testing-modules/junit-5/src/main/java/com/baeldung/junit5/mockito/repository/UserRepository.java b/testing-modules/mockito-simple/src/main/java/com/baeldung/junit5/mockito/repository/UserRepository.java
similarity index 100%
rename from testing-modules/junit-5/src/main/java/com/baeldung/junit5/mockito/repository/UserRepository.java
rename to testing-modules/mockito-simple/src/main/java/com/baeldung/junit5/mockito/repository/UserRepository.java
diff --git a/testing-modules/junit-5/src/main/java/com/baeldung/junit5/mockito/service/DefaultUserService.java b/testing-modules/mockito-simple/src/main/java/com/baeldung/junit5/mockito/service/DefaultUserService.java
similarity index 100%
rename from testing-modules/junit-5/src/main/java/com/baeldung/junit5/mockito/service/DefaultUserService.java
rename to testing-modules/mockito-simple/src/main/java/com/baeldung/junit5/mockito/service/DefaultUserService.java
diff --git a/testing-modules/junit-5/src/main/java/com/baeldung/junit5/mockito/service/Errors.java b/testing-modules/mockito-simple/src/main/java/com/baeldung/junit5/mockito/service/Errors.java
similarity index 100%
rename from testing-modules/junit-5/src/main/java/com/baeldung/junit5/mockito/service/Errors.java
rename to testing-modules/mockito-simple/src/main/java/com/baeldung/junit5/mockito/service/Errors.java
diff --git a/testing-modules/junit-5/src/main/java/com/baeldung/junit5/mockito/service/UserService.java b/testing-modules/mockito-simple/src/main/java/com/baeldung/junit5/mockito/service/UserService.java
similarity index 100%
rename from testing-modules/junit-5/src/main/java/com/baeldung/junit5/mockito/service/UserService.java
rename to testing-modules/mockito-simple/src/main/java/com/baeldung/junit5/mockito/service/UserService.java
diff --git a/testing-modules/mockito-2/src/main/java/com/baeldung/mockito/argumentcaptor/AuthenticationStatus.java b/testing-modules/mockito-simple/src/main/java/com/baeldung/mockito/argumentcaptor/AuthenticationStatus.java
similarity index 100%
rename from testing-modules/mockito-2/src/main/java/com/baeldung/mockito/argumentcaptor/AuthenticationStatus.java
rename to testing-modules/mockito-simple/src/main/java/com/baeldung/mockito/argumentcaptor/AuthenticationStatus.java
diff --git a/testing-modules/mockito-2/src/main/java/com/baeldung/mockito/argumentcaptor/Credentials.java b/testing-modules/mockito-simple/src/main/java/com/baeldung/mockito/argumentcaptor/Credentials.java
similarity index 100%
rename from testing-modules/mockito-2/src/main/java/com/baeldung/mockito/argumentcaptor/Credentials.java
rename to testing-modules/mockito-simple/src/main/java/com/baeldung/mockito/argumentcaptor/Credentials.java
diff --git a/testing-modules/mockito-2/src/main/java/com/baeldung/mockito/argumentcaptor/DeliveryPlatform.java b/testing-modules/mockito-simple/src/main/java/com/baeldung/mockito/argumentcaptor/DeliveryPlatform.java
similarity index 100%
rename from testing-modules/mockito-2/src/main/java/com/baeldung/mockito/argumentcaptor/DeliveryPlatform.java
rename to testing-modules/mockito-simple/src/main/java/com/baeldung/mockito/argumentcaptor/DeliveryPlatform.java
diff --git a/testing-modules/mockito-2/src/main/java/com/baeldung/mockito/argumentcaptor/Email.java b/testing-modules/mockito-simple/src/main/java/com/baeldung/mockito/argumentcaptor/Email.java
similarity index 100%
rename from testing-modules/mockito-2/src/main/java/com/baeldung/mockito/argumentcaptor/Email.java
rename to testing-modules/mockito-simple/src/main/java/com/baeldung/mockito/argumentcaptor/Email.java
diff --git a/testing-modules/mockito-2/src/main/java/com/baeldung/mockito/argumentcaptor/EmailService.java b/testing-modules/mockito-simple/src/main/java/com/baeldung/mockito/argumentcaptor/EmailService.java
similarity index 100%
rename from testing-modules/mockito-2/src/main/java/com/baeldung/mockito/argumentcaptor/EmailService.java
rename to testing-modules/mockito-simple/src/main/java/com/baeldung/mockito/argumentcaptor/EmailService.java
diff --git a/testing-modules/mockito-2/src/main/java/com/baeldung/mockito/argumentcaptor/Format.java b/testing-modules/mockito-simple/src/main/java/com/baeldung/mockito/argumentcaptor/Format.java
similarity index 100%
rename from testing-modules/mockito-2/src/main/java/com/baeldung/mockito/argumentcaptor/Format.java
rename to testing-modules/mockito-simple/src/main/java/com/baeldung/mockito/argumentcaptor/Format.java
diff --git a/testing-modules/mockito-2/src/main/java/com/baeldung/mockito/argumentcaptor/ServiceStatus.java b/testing-modules/mockito-simple/src/main/java/com/baeldung/mockito/argumentcaptor/ServiceStatus.java
similarity index 100%
rename from testing-modules/mockito-2/src/main/java/com/baeldung/mockito/argumentcaptor/ServiceStatus.java
rename to testing-modules/mockito-simple/src/main/java/com/baeldung/mockito/argumentcaptor/ServiceStatus.java
diff --git a/testing-modules/mockito-3/src/main/java/com/baeldung/mockito/mockedstatic/StaticUtils.java b/testing-modules/mockito-simple/src/main/java/com/baeldung/mockito/mockedstatic/StaticUtils.java
similarity index 100%
rename from testing-modules/mockito-3/src/main/java/com/baeldung/mockito/mockedstatic/StaticUtils.java
rename to testing-modules/mockito-simple/src/main/java/com/baeldung/mockito/mockedstatic/StaticUtils.java
diff --git a/testing-modules/spring-mockito/src/test/java/com/baeldung/app/rest/FlowerControllerUnitTest.java b/testing-modules/mockito-simple/src/test/java/com/baeldung/app/rest/FlowerControllerUnitTest.java
similarity index 100%
rename from testing-modules/spring-mockito/src/test/java/com/baeldung/app/rest/FlowerControllerUnitTest.java
rename to testing-modules/mockito-simple/src/test/java/com/baeldung/app/rest/FlowerControllerUnitTest.java
diff --git a/testing-modules/spring-mockito/src/test/java/com/baeldung/app/rest/MessageControllerUnitTest.java b/testing-modules/mockito-simple/src/test/java/com/baeldung/app/rest/MessageControllerUnitTest.java
similarity index 100%
rename from testing-modules/spring-mockito/src/test/java/com/baeldung/app/rest/MessageControllerUnitTest.java
rename to testing-modules/mockito-simple/src/test/java/com/baeldung/app/rest/MessageControllerUnitTest.java
diff --git a/testing-modules/spring-mockito/src/main/java/com/baeldung/domain/util/MessageMatcher.java b/testing-modules/mockito-simple/src/test/java/com/baeldung/domain/util/MessageMatcher.java
similarity index 100%
rename from testing-modules/spring-mockito/src/main/java/com/baeldung/domain/util/MessageMatcher.java
rename to testing-modules/mockito-simple/src/test/java/com/baeldung/domain/util/MessageMatcher.java
diff --git a/testing-modules/junit-5/src/test/java/com/baeldung/junit5/mockito/UserServiceUnitTest.java b/testing-modules/mockito-simple/src/test/java/com/baeldung/junit5/mockito/UserServiceUnitTest.java
similarity index 100%
rename from testing-modules/junit-5/src/test/java/com/baeldung/junit5/mockito/UserServiceUnitTest.java
rename to testing-modules/mockito-simple/src/test/java/com/baeldung/junit5/mockito/UserServiceUnitTest.java
diff --git a/testing-modules/mockito/src/test/java/com/baeldung/mockito/FinalList.java b/testing-modules/mockito-simple/src/test/java/com/baeldung/mockito/FinalList.java
similarity index 100%
rename from testing-modules/mockito/src/test/java/com/baeldung/mockito/FinalList.java
rename to testing-modules/mockito-simple/src/test/java/com/baeldung/mockito/FinalList.java
diff --git a/testing-modules/mockito/src/test/java/com/baeldung/mockito/MockFinals.java b/testing-modules/mockito-simple/src/test/java/com/baeldung/mockito/MockFinals.java
similarity index 100%
rename from testing-modules/mockito/src/test/java/com/baeldung/mockito/MockFinals.java
rename to testing-modules/mockito-simple/src/test/java/com/baeldung/mockito/MockFinals.java
diff --git a/testing-modules/mockito/src/test/java/com/baeldung/mockito/MockFinalsUnitTest.java b/testing-modules/mockito-simple/src/test/java/com/baeldung/mockito/MockFinalsUnitTest.java
similarity index 100%
rename from testing-modules/mockito/src/test/java/com/baeldung/mockito/MockFinalsUnitTest.java
rename to testing-modules/mockito-simple/src/test/java/com/baeldung/mockito/MockFinalsUnitTest.java
diff --git a/testing-modules/mockito/src/test/java/com/baeldung/mockito/MockitoAnnotationUnitTest.java b/testing-modules/mockito-simple/src/test/java/com/baeldung/mockito/MockitoAnnotationUnitTest.java
similarity index 100%
rename from testing-modules/mockito/src/test/java/com/baeldung/mockito/MockitoAnnotationUnitTest.java
rename to testing-modules/mockito-simple/src/test/java/com/baeldung/mockito/MockitoAnnotationUnitTest.java
diff --git a/testing-modules/mockito/src/test/java/com/baeldung/mockito/MockitoAnnotationsUninitializedUnitTest.java b/testing-modules/mockito-simple/src/test/java/com/baeldung/mockito/MockitoAnnotationsUninitializedUnitTest.java
similarity index 100%
rename from testing-modules/mockito/src/test/java/com/baeldung/mockito/MockitoAnnotationsUninitializedUnitTest.java
rename to testing-modules/mockito-simple/src/test/java/com/baeldung/mockito/MockitoAnnotationsUninitializedUnitTest.java
diff --git a/testing-modules/mockito/src/test/java/com/baeldung/mockito/MockitoConfigExamplesUnitTest.java b/testing-modules/mockito-simple/src/test/java/com/baeldung/mockito/MockitoConfigExamplesUnitTest.java
similarity index 100%
rename from testing-modules/mockito/src/test/java/com/baeldung/mockito/MockitoConfigExamplesUnitTest.java
rename to testing-modules/mockito-simple/src/test/java/com/baeldung/mockito/MockitoConfigExamplesUnitTest.java
diff --git a/testing-modules/mockito/src/test/java/com/baeldung/mockito/MockitoExceptionUnitTest.java b/testing-modules/mockito-simple/src/test/java/com/baeldung/mockito/MockitoExceptionUnitTest.java
similarity index 100%
rename from testing-modules/mockito/src/test/java/com/baeldung/mockito/MockitoExceptionUnitTest.java
rename to testing-modules/mockito-simple/src/test/java/com/baeldung/mockito/MockitoExceptionUnitTest.java
diff --git a/testing-modules/mockito/src/test/java/com/baeldung/mockito/MockitoInitWithMockitoJUnitRuleUnitTest.java b/testing-modules/mockito-simple/src/test/java/com/baeldung/mockito/MockitoInitWithMockitoJUnitRuleUnitTest.java
similarity index 100%
rename from testing-modules/mockito/src/test/java/com/baeldung/mockito/MockitoInitWithMockitoJUnitRuleUnitTest.java
rename to testing-modules/mockito-simple/src/test/java/com/baeldung/mockito/MockitoInitWithMockitoJUnitRuleUnitTest.java
diff --git a/testing-modules/mockito/src/test/java/com/baeldung/mockito/MockitoInjectIntoSpyUnitTest.java b/testing-modules/mockito-simple/src/test/java/com/baeldung/mockito/MockitoInjectIntoSpyUnitTest.java
similarity index 100%
rename from testing-modules/mockito/src/test/java/com/baeldung/mockito/MockitoInjectIntoSpyUnitTest.java
rename to testing-modules/mockito-simple/src/test/java/com/baeldung/mockito/MockitoInjectIntoSpyUnitTest.java
diff --git a/testing-modules/mockito/src/test/java/com/baeldung/mockito/MockitoMockIntegrationTest.java b/testing-modules/mockito-simple/src/test/java/com/baeldung/mockito/MockitoMockIntegrationTest.java
similarity index 100%
rename from testing-modules/mockito/src/test/java/com/baeldung/mockito/MockitoMockIntegrationTest.java
rename to testing-modules/mockito-simple/src/test/java/com/baeldung/mockito/MockitoMockIntegrationTest.java
diff --git a/testing-modules/mockito/src/test/java/com/baeldung/mockito/MockitoMockUnitTest.java b/testing-modules/mockito-simple/src/test/java/com/baeldung/mockito/MockitoMockUnitTest.java
similarity index 100%
rename from testing-modules/mockito/src/test/java/com/baeldung/mockito/MockitoMockUnitTest.java
rename to testing-modules/mockito-simple/src/test/java/com/baeldung/mockito/MockitoMockUnitTest.java
diff --git a/testing-modules/mockito/src/test/java/com/baeldung/mockito/MockitoVerifyExamplesUnitTest.java b/testing-modules/mockito-simple/src/test/java/com/baeldung/mockito/MockitoVerifyExamplesUnitTest.java
similarity index 100%
rename from testing-modules/mockito/src/test/java/com/baeldung/mockito/MockitoVerifyExamplesUnitTest.java
rename to testing-modules/mockito-simple/src/test/java/com/baeldung/mockito/MockitoVerifyExamplesUnitTest.java
diff --git a/testing-modules/mockito/src/test/java/com/baeldung/mockito/MyDictionary.java b/testing-modules/mockito-simple/src/test/java/com/baeldung/mockito/MyDictionary.java
similarity index 100%
rename from testing-modules/mockito/src/test/java/com/baeldung/mockito/MyDictionary.java
rename to testing-modules/mockito-simple/src/test/java/com/baeldung/mockito/MyDictionary.java
diff --git a/testing-modules/mockito/src/test/java/com/baeldung/mockito/MyList.java b/testing-modules/mockito-simple/src/test/java/com/baeldung/mockito/MyList.java
similarity index 100%
rename from testing-modules/mockito/src/test/java/com/baeldung/mockito/MyList.java
rename to testing-modules/mockito-simple/src/test/java/com/baeldung/mockito/MyList.java
diff --git a/testing-modules/mockito-2/src/test/java/com/baeldung/mockito/argumentcaptor/EmailServiceUnitTest.java b/testing-modules/mockito-simple/src/test/java/com/baeldung/mockito/argumentcaptor/EmailServiceUnitTest.java
similarity index 100%
rename from testing-modules/mockito-2/src/test/java/com/baeldung/mockito/argumentcaptor/EmailServiceUnitTest.java
rename to testing-modules/mockito-simple/src/test/java/com/baeldung/mockito/argumentcaptor/EmailServiceUnitTest.java
diff --git a/testing-modules/mockito-3/src/test/java/com/baeldung/mockito/mockedstatic/MockedStaticUnitTest.java b/testing-modules/mockito-simple/src/test/java/com/baeldung/mockito/mockedstatic/MockedStaticUnitTest.java
similarity index 100%
rename from testing-modules/mockito-3/src/test/java/com/baeldung/mockito/mockedstatic/MockedStaticUnitTest.java
rename to testing-modules/mockito-simple/src/test/java/com/baeldung/mockito/mockedstatic/MockedStaticUnitTest.java
diff --git a/testing-modules/mockito-2/src/test/java/com/baeldung/mockito/spy/MockitoMisusingUnitTest.java b/testing-modules/mockito-simple/src/test/java/com/baeldung/mockito/spy/MockitoMisusingUnitTest.java
similarity index 100%
rename from testing-modules/mockito-2/src/test/java/com/baeldung/mockito/spy/MockitoMisusingUnitTest.java
rename to testing-modules/mockito-simple/src/test/java/com/baeldung/mockito/spy/MockitoMisusingUnitTest.java
diff --git a/testing-modules/mockito-2/src/test/java/com/baeldung/mockito/spy/MockitoSpyUnitTest.java b/testing-modules/mockito-simple/src/test/java/com/baeldung/mockito/spy/MockitoSpyUnitTest.java
similarity index 100%
rename from testing-modules/mockito-2/src/test/java/com/baeldung/mockito/spy/MockitoSpyUnitTest.java
rename to testing-modules/mockito-simple/src/test/java/com/baeldung/mockito/spy/MockitoSpyUnitTest.java
diff --git a/testing-modules/mockito/src/test/java/com/baeldung/mockito/voidmethods/MockitoVoidMethodsUnitTest.java b/testing-modules/mockito-simple/src/test/java/com/baeldung/mockito/voidmethods/MockitoVoidMethodsUnitTest.java
similarity index 100%
rename from testing-modules/mockito/src/test/java/com/baeldung/mockito/voidmethods/MockitoVoidMethodsUnitTest.java
rename to testing-modules/mockito-simple/src/test/java/com/baeldung/mockito/voidmethods/MockitoVoidMethodsUnitTest.java
diff --git a/testing-modules/mockito/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker b/testing-modules/mockito-simple/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker
similarity index 100%
rename from testing-modules/mockito/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker
rename to testing-modules/mockito-simple/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker
diff --git a/testing-modules/mockito/README.md b/testing-modules/mockito/README.md
index 38fb8225a6..6cc6bb8955 100644
--- a/testing-modules/mockito/README.md
+++ b/testing-modules/mockito/README.md
@@ -4,12 +4,5 @@
### Relevant Articles:
-- [Mockito Verify Cookbook](https://www.baeldung.com/mockito-verify)
-- [Mockito When/Then Cookbook](https://www.baeldung.com/mockito-behavior)
-- [Getting Started with Mockito @Mock, @Spy, @Captor and @InjectMocks](https://www.baeldung.com/mockito-annotations)
-- [Mockito’s Mock Methods](https://www.baeldung.com/mockito-mock-methods)
-- [Mocking Exception Throwing using Mockito](https://www.baeldung.com/mockito-exceptions)
-- [Mocking Void Methods with Mockito](https://www.baeldung.com/mockito-void-methods)
-- [Mock Final Classes and Methods with Mockito](https://www.baeldung.com/mockito-final)
- [Testing Callbacks with Mockito](https://www.baeldung.com/mockito-callbacks)
- [Quick Guide to BDDMockito](https://www.baeldung.com/bdd-mockito)
diff --git a/testing-modules/mockito/src/test/java/com/baeldung/mockito/MockitoAnnotationIntegrationTest.java b/testing-modules/mockito/src/test/java/com/baeldung/mockito/MockitoAnnotationIntegrationTest.java
deleted file mode 100644
index 94054d1cbb..0000000000
--- a/testing-modules/mockito/src/test/java/com/baeldung/mockito/MockitoAnnotationIntegrationTest.java
+++ /dev/null
@@ -1,114 +0,0 @@
-package com.baeldung.mockito;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.mockito.*;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-import static org.junit.Assert.assertEquals;
-
-//@RunWith(MockitoJUnitRunner.class)
-public class MockitoAnnotationIntegrationTest {
-
- @Mock
- private List mockedList;
-
- @Spy
- private List spiedList = new ArrayList<>();
-
- @Before
- public void init() {
- MockitoAnnotations.initMocks(this);
- }
-
- // tests
-
- @Test
- public void whenNotUseMockAnnotation_thenCorrect() {
- final List mockList = Mockito.mock(List.class);
- mockList.add("one");
- Mockito.verify(mockList).add("one");
- assertEquals(0, mockList.size());
-
- Mockito.when(mockList.size()).thenReturn(100);
- assertEquals(100, mockList.size());
- }
-
- @Test
- public void whenUseMockAnnotation_thenMockIsInjected() {
- mockedList.add("one");
- Mockito.verify(mockedList).add("one");
- assertEquals(0, mockedList.size());
-
- Mockito.when(mockedList.size()).thenReturn(100);
- assertEquals(100, mockedList.size());
- }
-
- @Test
- public void whenNotUseSpyAnnotation_thenCorrect() {
- final List spyList = Mockito.spy(new ArrayList());
- spyList.add("one");
- spyList.add("two");
-
- Mockito.verify(spyList).add("one");
- Mockito.verify(spyList).add("two");
-
- assertEquals(2, spyList.size());
-
- Mockito.doReturn(100).when(spyList).size();
- assertEquals(100, spyList.size());
- }
-
- @Test
- public void whenUseSpyAnnotation_thenSpyIsInjectedCorrectly() {
- spiedList.add("one");
- spiedList.add("two");
-
- Mockito.verify(spiedList).add("one");
- Mockito.verify(spiedList).add("two");
-
- assertEquals(2, spiedList.size());
-
- Mockito.doReturn(100).when(spiedList).size();
- assertEquals(100, spiedList.size());
- }
-
- @Test
- public void whenNotUseCaptorAnnotation_thenCorrect() {
- final List mockList = Mockito.mock(List.class);
- final ArgumentCaptor arg = ArgumentCaptor.forClass(String.class);
- mockList.add("one");
- Mockito.verify(mockList).add(arg.capture());
-
- assertEquals("one", arg.getValue());
- }
-
- @Captor
- private
- ArgumentCaptor argCaptor;
-
- @Test
- public void whenUseCaptorAnnotation_thenTheSam() {
- mockedList.add("one");
- Mockito.verify(mockedList).add(argCaptor.capture());
-
- assertEquals("one", argCaptor.getValue());
- }
-
- @Mock
- private Map wordMap;
-
- @InjectMocks
- private MyDictionary dic = new MyDictionary();
-
- @Test
- public void whenUseInjectMocksAnnotation_thenCorrect() {
- Mockito.when(wordMap.get("aWord")).thenReturn("aMeaning");
-
- assertEquals("aMeaning", dic.getMeaning("aWord"));
- }
-
-}
diff --git a/testing-modules/mockito/src/test/java/com/baeldung/mockito/MockitoConfigExamplesIntegrationTest.java b/testing-modules/mockito/src/test/java/com/baeldung/mockito/MockitoConfigExamplesIntegrationTest.java
deleted file mode 100644
index b9df6a456c..0000000000
--- a/testing-modules/mockito/src/test/java/com/baeldung/mockito/MockitoConfigExamplesIntegrationTest.java
+++ /dev/null
@@ -1,93 +0,0 @@
-package com.baeldung.mockito;
-
-import org.junit.Test;
-import org.mockito.Mockito;
-
-import static org.apache.commons.lang3.RandomStringUtils.randomAlphabetic;
-import static org.hamcrest.Matchers.equalTo;
-import static org.hamcrest.Matchers.is;
-import static org.junit.Assert.assertThat;
-import static org.mockito.Mockito.*;
-
-public class MockitoConfigExamplesIntegrationTest {
-
- // tests
-
- @Test
- public final void whenMockReturnBehaviorIsConfigured_thenBehaviorIsVerified() {
- final MyList listMock = Mockito.mock(MyList.class);
- when(listMock.add(anyString())).thenReturn(false);
-
- final boolean added = listMock.add(randomAlphabetic(6));
- assertThat(added, is(false));
- }
-
- @Test
- public final void whenMockReturnBehaviorIsConfigured2_thenBehaviorIsVerified() {
- final MyList listMock = Mockito.mock(MyList.class);
- doReturn(false).when(listMock).add(anyString());
-
- final boolean added = listMock.add(randomAlphabetic(6));
- assertThat(added, is(false));
- }
-
- @Test(expected = IllegalStateException.class)
- public final void givenMethodIsConfiguredToThrowException_whenCallingMethod_thenExceptionIsThrown() {
- final MyList listMock = Mockito.mock(MyList.class);
- when(listMock.add(anyString())).thenThrow(IllegalStateException.class);
-
- listMock.add(randomAlphabetic(6));
- }
-
- @Test(expected = NullPointerException.class)
- public final void whenMethodHasNoReturnType_whenConfiguringBehaviorOfMethod_thenPossible() {
- final MyList listMock = Mockito.mock(MyList.class);
- doThrow(NullPointerException.class).when(listMock).clear();
-
- listMock.clear();
- }
-
- @Test
- public final void givenBehaviorIsConfiguredToThrowExceptionOnSecondCall_whenCallingOnlyOnce_thenNoExceptionIsThrown() {
- final MyList listMock = Mockito.mock(MyList.class);
- when(listMock.add(anyString())).thenReturn(false).thenThrow(IllegalStateException.class);
-
- listMock.add(randomAlphabetic(6));
- }
-
- @Test(expected = IllegalStateException.class)
- public final void givenBehaviorIsConfiguredToThrowExceptionOnSecondCall_whenCallingTwice_thenExceptionIsThrown() {
- final MyList listMock = Mockito.mock(MyList.class);
- when(listMock.add(anyString())).thenReturn(false).thenThrow(IllegalStateException.class);
-
- listMock.add(randomAlphabetic(6));
- listMock.add(randomAlphabetic(6));
- }
-
- @Test
- public final void whenMockMethodCallIsConfiguredToCallTheRealMethod_thenRealMethodIsCalled() {
- final MyList listMock = Mockito.mock(MyList.class);
- when(listMock.size()).thenCallRealMethod();
-
- assertThat(listMock.size(), equalTo(1));
- }
-
- @Test
- public final void whenMockMethodCallIsConfiguredWithCustomAnswer_thenRealMethodIsCalled() {
- final MyList listMock = Mockito.mock(MyList.class);
- doAnswer(invocation -> "Always the same").when(listMock).get(anyInt());
-
- final String element = listMock.get(1);
- assertThat(element, is(equalTo("Always the same")));
- }
-
- @Test(expected = NullPointerException.class)
- public final void givenSpy_whenConfiguringBehaviorOfSpy_thenCorrectlyConfigured() {
- final MyList instance = new MyList();
- final MyList spy = Mockito.spy(instance);
-
- doThrow(NullPointerException.class).when(spy).size();
- spy.size();
- }
-
-}
diff --git a/testing-modules/mockito/src/test/java/com/baeldung/mockito/MockitoExceptionIntegrationTest.java b/testing-modules/mockito/src/test/java/com/baeldung/mockito/MockitoExceptionIntegrationTest.java
deleted file mode 100644
index 23fcba60b8..0000000000
--- a/testing-modules/mockito/src/test/java/com/baeldung/mockito/MockitoExceptionIntegrationTest.java
+++ /dev/null
@@ -1,55 +0,0 @@
-package com.baeldung.mockito;
-
-import org.junit.Test;
-import org.mockito.Mockito;
-
-import static org.mockito.ArgumentMatchers.anyString;
-import static org.mockito.Mockito.*;
-
-public class MockitoExceptionIntegrationTest {
-
- @Test(expected = NullPointerException.class)
- public void whenConfigNonVoidRetunMethodToThrowEx_thenExIsThrown() {
- MyDictionary dictMock = mock(MyDictionary.class);
- when(dictMock.getMeaning(anyString())).thenThrow(NullPointerException.class);
-
- dictMock.getMeaning("word");
- }
-
- @Test(expected = IllegalStateException.class)
- public void whenConfigVoidRetunMethodToThrowEx_thenExIsThrown() {
- MyDictionary dictMock = mock(MyDictionary.class);
- doThrow(IllegalStateException.class).when(dictMock)
- .add(anyString(), anyString());
-
- dictMock.add("word", "meaning");
- }
-
- @Test(expected = NullPointerException.class)
- public void whenConfigNonVoidRetunMethodToThrowExWithNewExObj_thenExIsThrown() {
- MyDictionary dictMock = mock(MyDictionary.class);
- when(dictMock.getMeaning(anyString())).thenThrow(new NullPointerException("Error occurred"));
-
- dictMock.getMeaning("word");
- }
-
- @Test(expected = IllegalStateException.class)
- public void whenConfigVoidRetunMethodToThrowExWithNewExObj_thenExIsThrown() {
- MyDictionary dictMock = mock(MyDictionary.class);
- doThrow(new IllegalStateException("Error occurred")).when(dictMock)
- .add(anyString(), anyString());
-
- dictMock.add("word", "meaning");
- }
-
- // =====
-
- @Test(expected = NullPointerException.class)
- public void givenSpy_whenConfigNonVoidRetunMethodToThrowEx_thenExIsThrown() {
- MyDictionary dict = new MyDictionary();
- MyDictionary spy = Mockito.spy(dict);
-
- when(spy.getMeaning(anyString())).thenThrow(NullPointerException.class);
- spy.getMeaning("word");
- }
-}
diff --git a/testing-modules/mockito/src/test/java/com/baeldung/mockito/MockitoVerifyExamplesIntegrationTest.java b/testing-modules/mockito/src/test/java/com/baeldung/mockito/MockitoVerifyExamplesIntegrationTest.java
deleted file mode 100644
index 6dfe7f9d6b..0000000000
--- a/testing-modules/mockito/src/test/java/com/baeldung/mockito/MockitoVerifyExamplesIntegrationTest.java
+++ /dev/null
@@ -1,116 +0,0 @@
-package com.baeldung.mockito;
-
-import com.google.common.collect.Lists;
-import org.junit.Test;
-import org.mockito.ArgumentCaptor;
-import org.mockito.InOrder;
-import org.mockito.Mockito;
-import org.mockito.exceptions.verification.NoInteractionsWanted;
-
-import java.util.List;
-
-import static org.hamcrest.Matchers.hasItem;
-import static org.junit.Assert.assertThat;
-import static org.mockito.Mockito.*;
-
-public class MockitoVerifyExamplesIntegrationTest {
-
- // tests
-
- @Test
- public final void givenInteractionWithMockOccurred_whenVerifyingInteraction_thenCorrect() {
- final List mockedList = mock(MyList.class);
- mockedList.size();
- verify(mockedList).size();
- }
-
- @Test
- public final void givenOneInteractionWithMockOccurred_whenVerifyingNumberOfInteractions_thenCorrect() {
- final List mockedList = mock(MyList.class);
- mockedList.size();
- verify(mockedList, times(1)).size();
- }
-
- @Test
- public final void givenNoInteractionWithMockOccurred_whenVerifyingInteractions_thenCorrect() {
- final List mockedList = mock(MyList.class);
- verifyNoInteractions(mockedList);
- }
-
- @Test
- public final void givenNoInteractionWithMethodOfMockOccurred_whenVerifyingInteractions_thenCorrect() {
- final List mockedList = mock(MyList.class);
- verify(mockedList, times(0)).size();
- }
-
- @Test(expected = NoInteractionsWanted.class)
- public final void givenUnverifiedInteraction_whenVerifyingNoUnexpectedInteractions_thenFail() {
- final List mockedList = mock(MyList.class);
- mockedList.size();
- mockedList.clear();
-
- verify(mockedList).size();
- verifyNoMoreInteractions(mockedList);
- }
-
- @Test
- public final void whenVerifyingOrderOfInteractions_thenCorrect() {
- final List mockedList = mock(MyList.class);
- mockedList.size();
- mockedList.add("a parameter");
- mockedList.clear();
-
- final InOrder inOrder = Mockito.inOrder(mockedList);
- inOrder.verify(mockedList).size();
- inOrder.verify(mockedList).add("a parameter");
- inOrder.verify(mockedList).clear();
- }
-
- @Test
- public final void whenVerifyingAnInteractionHasNotOccurred_thenCorrect() {
- final List mockedList = mock(MyList.class);
- mockedList.size();
-
- verify(mockedList, never()).clear();
- }
-
- @Test
- public final void whenVerifyingAnInteractionHasOccurredAtLeastOnce_thenCorrect() {
- final List mockedList = mock(MyList.class);
- mockedList.clear();
- mockedList.clear();
- mockedList.clear();
-
- verify(mockedList, atLeast(1)).clear();
- verify(mockedList, atMost(10)).clear();
- }
-
- // with arguments
-
- @Test
- public final void whenVerifyingAnInteractionWithExactArgument_thenCorrect() {
- final List mockedList = mock(MyList.class);
- mockedList.add("test");
-
- verify(mockedList).add("test");
- }
-
- @Test
- public final void whenVerifyingAnInteractionWithAnyArgument_thenCorrect() {
- final List mockedList = mock(MyList.class);
- mockedList.add("test");
-
- verify(mockedList).add(anyString());
- }
-
- @Test
- public final void whenVerifyingAnInteractionWithArgumentCapture_thenCorrect() {
- final List mockedList = mock(MyList.class);
- mockedList.addAll(Lists.newArrayList("someElement"));
- final ArgumentCaptor argumentCaptor = ArgumentCaptor.forClass(List.class);
- verify(mockedList).addAll(argumentCaptor.capture());
- final List capturedArgument = argumentCaptor.>getValue();
- assertThat(capturedArgument, hasItem("someElement"));
- }
-
-}
diff --git a/testing-modules/spring-mockito/README.md b/testing-modules/spring-mockito/README.md
index 0ad8e05ce3..3fda392c0f 100644
--- a/testing-modules/spring-mockito/README.md
+++ b/testing-modules/spring-mockito/README.md
@@ -4,4 +4,3 @@ This module contains articles about Spring with Mockito
### Relevant Articles:
- [Injecting Mockito Mocks into Spring Beans](https://www.baeldung.com/injecting-mocks-in-spring)
-- [Mockito ArgumentMatchers](https://www.baeldung.com/mockito-argument-matchers)