Search courses 👉
Corporate Training for Teams

Unit Testing with JUnit - Corporate

StayAhead Training, Online (+1 locations)
Length
24 hours
Next course start
In-House training available upon request (+2 start dates)
Course delivery
In Company, Virtual Classroom
Length
24 hours
Next course start
In-House training available upon request (+2 start dates)
Course delivery
In Company, Virtual Classroom
Leave your details so the provider can get in touch

Course description

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.

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.

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.

Upcoming start dates

Choose between 2 start dates

In-House training available upon request

  • In Company
  • United Kingdom

Virtual and Hybrid options are available upon request

  • Virtual Classroom
  • Online

Suitability - Who should attend?

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.


Experience to the level as demonstrated in this course is recommended:
  • Java Programming 1 / Java Developer

Training Course 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


Customer Outreach Award

customer-outreach-badge-2019

We believe that it should be easy for you to find and compare training courses. 

Our Customer Outreach Award is presented to trusted providers who are excellent at responding to enquiries, making your search quicker, more efficient and easier, too.

Request info

Contact form

Fill out your details to find out more about Unit Testing with JUnit - Corporate.

  Contact the provider

  Get more information

  Register your interest

Country *

reCAPTCHA logo This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
StayAhead Training
56 Commercial Road
E1 1LP London

Why StayAhead. From a single person on a scheduled course to large scale training projects StayAhead Training have the expertise and experience to help. Established since 1992, StayAhead Training is recognised as one of the leading independent IT Training specialists...

Read more and show all courses with this provider

Ads