Junit 5 From Basics To Advanced
Published 9/2025
MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
Language: English | Size: 2.46 GB | Duration: 2h 36m
Published 9/2025
MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
Language: English | Size: 2.46 GB | Duration: 2h 36m
Unit Testing in Java
What you'll learn
Unit Testing
JUnit5
Mockito
Java Testing Framework
Requirements
Java
Description
Unit testing roadmap:Topics already covered:- Available Frameworks:- Junit- TestNG etc.- What is a unit test?- Difference between unit vs integration vs functional tests- AAA (Arrange-Act-Assert)- Maven/Gradle dependencies- Test Lifecycle- Basic Annotations: • @Test • @BeforeEach, @AfterEach • @BeforeAll, @AfterAll • @DisplayName • @Disableetc.- Assertions: • assertEquals, assertNotEquals • assertTrue, assertFalse • assertNull, assertNotNull • assertThrows for exception testing- Extensions- Test Repetition • @RepeatedTest(n)Upcoming:- Parameterized TestsMocking- Available Frameworks: - Mockito - EasyMock - JMock- Mockito Core Concepts: • @Mock and Mockito.mock(Class.class) • @InjectMocks for injecting mocks • @BeforeEach with MockitoAnnotations.openMocks(this) • Testing Private/Static Methods (PowerMock or some other approach)- Stubbing Behavior • when(…).thenReturn(…) • when(…).thenThrow(…)- Verifying Calls • verify(…) after method call • verifyNoMoreInteractions(…)- Void Method Stubbing • doNothing().when(mock).method() • doThrow(…).when(…)- Argument Matchers: • any(), eq(), anyString(), anyInt(), etc. • Mixing matchers with exact values (and why it fails)- Behavior Verification:- Verify how many times called: times(n), never(), atLeastOnce()- Spies vs Mocks: ○ Mockito.spy() for partial mocking ○ Difference between mock() and spy()- Testing Configuration, Properties, and Profiles- Unit tests with different Spring profiles.- How to mock @Value, Environment, or @ConfigurationProperties.- Overriding properties for test-only behavior. Assertions & Matchers - Frameworks: - AssertJ - HamcrestSome Advanced Topics- Test-Driven Development (TDD)- Write failing test first, then code- Test Coverage: • Tools: JaCoCo, IntelliJ coverage tool- CI integration- Run tests in GitHub Actions, GitLab CI/CD, Jenkins.- Test Reports- Generate HTML/XML test reports for build tools.AI + Unit Testing- Code Suggestion Tools (AI-Powered IDE Extensions)- Using AI in CI/CD (Future-Forward)- AI suggests missing test cases for changed methods- AI flags flaky or redundant tests- Autogenerate Missing Tests
Overview
Section 1: JUnit 5
Lecture 1 JUnit 5: Unit Testing Introduction | Unit vs Integration vs Functional Testing
Lecture 2 JUnit 5 Architecture : JUnit Platform, JUnit Jupiter and JUnit Vintage
Lecture 3 JUnit 5 Tests Lifecycle, Parallel Execution and AAA pattern
Lecture 4 JUnit 5 Assertions
Lecture 5 JUnit 5 : Extensions in depth
Lecture 6 JUnit 5: RepeatedTest in depth
Java Backend Developers