Skip to main Content

English Delivery Only: Unit Testing with JUnit

  • Código del Curso JUNIT
  • Duración 3 días

Otros Métodos de Impartición

Clase de calendario Precio

eur1,980.00

Solicitar Formación Grupal Inscribirse

Método de Impartición

Este curso está disponible en los siguientes formatos:

  • Clase de calendario

    Aprendizaje tradicional en el aula

  • Aprendizaje Virtual

    Aprendizaje virtual

Solicitar este curso en un formato de entrega diferente.

*** Course delivered in English (UK - (GMT)) ***

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 sessio

Calendario

Parte superior
    • Método de Impartición: Aprendizaje Virtual
    • Fecha: 04-06 marzo, 2026 | 10:30 AM to 6:00 PM
    • Sede: Aula Virtual (W. Europe )
    • Idioma: Español

    eur1,980.00

Dirigido a

Parte superior

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.

Objetivos del Curso

Parte superior

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.

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

Pre-requisitos

Parte superior

Requirements

Delegates attending this course should be familiar with basic programming concepts and have some experience coding with Java at least. Ideally delegates will be competent Java developers who have a good understanding of OO principles and are able to build simple applications that exploit APIs including Collections,IO,and JDBC. This knowledge can be obtained by attendance on the pre-requisite Java Programming 1 / Java Developer course.

JUnit 5 exploits modern Java features including lambda expressions. Some experience or familiarity with such features,therefore,is desirable. These skills can be obtained by attendance on the Java Programming 2 / Java Advanced Developer course.