Unit Testing with JUnit [STA_JUNIT]
Starting dates and places
placeLive Virtual 9 Apr 2025 until 11 Apr 2025 |
placeLive Virtual 4 Jun 2025 until 6 Jun 2025 |
placeLive Virtual 6 Aug 2025 until 8 Aug 2025 |
Description
OVERVIEW
Unit Testing with JUnit Course Overview
JUnit is the most popular and widely used Java unit testing framework.
This hands-on course,delivered using JUnit v5,comprises sessions dealing with unit testing,setup,annotations,assertions and assumptions,conditional tests,parameterised tests,stubbing and mocking,Mockito,DAO and Servlet testing,testing multi-threaded code,and TDD.
Exercises and examples are used throughout the course to give practical hands-on experience with the techniques covered.
OBJECTIVES
Course Objectives
This course aims to provide the delegate with the knowledge to be able to design and code good quality,isolated unit tests with JUnit that exploit all the features of…
Frequently asked questions
There are no frequently asked questions yet. If you have any more questions or need help, contact our customer service.
OVERVIEW
Unit Testing with JUnit Course Overview
JUnit is the most popular and widely used Java unit testing framework.
This hands-on course,delivered using JUnit v5,comprises sessions dealing with unit testing,setup,annotations,assertions and assumptions,conditional tests,parameterised tests,stubbing and mocking,Mockito,DAO and Servlet testing,testing multi-threaded code,and TDD.
Exercises and examples are used throughout the course to give practical hands-on experience with the techniques covered.
OBJECTIVES
Course Objectives
This course aims to provide the delegate with the knowledge to be able to design and code good quality,isolated unit tests with JUnit that exploit all the features of the JUnit framework.
AUDIENCE
Who will the Course Benefit?
This Unit Testing with JUnit course will benefit Java developers and testers who are new to JUnit and/or unit testing more generally.
CONTENT
Unit Testing with JUnit Training Course
Course Contents - DAY 1
Course Introduction
- Administration and Course Materials
- Course Structure and Agenda
- Delegate and Trainer Introductions
Session 1: UNIT TESTING
- What is unit testing
- The purpose of unit testing
- Terminology
- The structure of a test
- Assertions
- Code coverage
- Guidelines for writing good unit tests
- Other types of testing
Session 2: GETTING STARTED WITH JUNIT
- What is JUnit
- The main features of JUnit
- JUnit in IntelliJ
- JUnit with Maven/Gradle
- A simple unit test
- Alternatives to JUnit
Session 3: ANNOTATIONS
- @Test
- @BeforeEach
- @AfterEach
- @BeforeAll
- @AfterAll
- @TestMethodOrder
- @TestInstance
- @DisplayName
- @Disabled
- @Timeout
- @ExtendWith
Session 4: ASSERTIONS & ASSUMPTIONS
- assertEquals
- assertTrue/False
- assertNull
- assertThrows
- assertArrayEquals
- assertIterableEquals
- assertLinesMatch
- assertSame
- assertInstanceOf
- assertTimeout
- assertNot*
- assertAll
- fail
- assumeTrue/False
- assumingThat
Unit Testing with JUnit Training Course
Course Contents - DAY 2
Session 5: CONDITIONAL TESTS
- OS conditions
- CRE conditions
- System property conditions
- Environment variable conditions
- Custom conditions
Session 6: PARAMETERISED TESTS
- What is a parameterised test
- The junit-jupiter-params artefact
- @ParameterizedTest
- Consuming arguments
- Argument sources
- Argument conversion
- Argument aggregation
- Customising display names
Session 7: STUBS,MOCKS,& PROXIES
- Dependencies
- Test doubles/fake objects
- Stubs
- Mocks
- Proxies
Session 8: MOCKITO
- What is Mockito
- The mockito-core and mockito-junit-jupiter artefacts
- The Mockito JUnit extension
- Creating a mock/spy
- Setting expectations (when,then)
- Argument matchers
- Verifying behaviour
- Spying
- Annotations
- Mocking static methods
Unit Testing with JUnit Training Course
Course Contents - DAY 3
Session 9: IO,DAO,& SERVLET TESTING
- Testing methods that use IO streams
- Testing DAOs by rolling back transactions
- Moving business logic out of the Servlet to simplify testing
Session 10: TESTING MULTI-THREADED CODE
- Sharing data among threads (a review)
- The difficulty in testing concurrent applications
- Testing the code with one thread
- Testing the code with many threads
- @RepeatedTest
- The problem with non-deterministic tests
- 3rd-party libraries
- Best practices
Session 11: TEST-DRIVEN DEVELOPMENT (TDD)
- What is TDD
- The pros and cons of TDD
- The three rules
- The red green refactor lifecycle
Share your review
Do you have experience with this course? Submit your review and help other people make the right choice. As a thank you for your effort we will donate £1.- to Stichting Edukans.There are no frequently asked questions yet. If you have any more questions or need help, contact our customer service.