Contact Us

« Important Announcement » Contact Us 877-206-0106 | USA Flag

Thank you for your interest in LearnQuest.

Your request is being processed and LearnQuest or a LearnQuest-Authorized Training Provider will be in touch with you shortly.


Thank you for your interest in Private Training.

We look forward to helping you develop the perfect training solution to help you meet your company's goals.

For immediate assistance, speak with one of our representatives using the chat module below. Otherwise, LearnQuest or a LearnQuest-Authorized Training Provider will be in touch with you shortly.


Thank you for your interest in LearnQuest!

Now, you will be able to stay up-to-date on our latest course offerings, promotions, and training discounts. Watch your inbox for upcoming special offers.


Date: xxx

Location: xxx

Time: xxx

Price: xxx

Please take a moment to fill out this form. We will get back to you as soon as possible.

All fields marked with an asterisk (*) are mandatory.

Java Testing with JUnit 5

1,170 USD
2 Days
Classroom Training, Online Training

AWS Training Pass

Take advantage of flexible training options with the AWS Training Pass and get Authorized AWS Training for a full year.

Learn More

Prices reflect a 22.5% discount for IBM employees (wherever applicable).
Prices reflect a 24% discount for Kyndryl employees (wherever applicable).
Prices reflect the Accenture employee discount.
Prices shown are the special AWS Partner Prices.
Prices reflect the Capgemini employee discount.
Prices reflect the UPS employee discount.
Prices reflect the ??democompanyname?? employee discount.
GSA Private/Onsite Price: ??gsa-private-price??
For GSA pricing, please go to GSA Advantage.

Class Schedule

Delivery Formats

Sort results

Filter Classes

Guaranteed to Run





  • Date: 8-Jul-2024 to 9-Jul-2024
    Time: 9AM - 5PM US Eastern
    Location: Virtual
    Language: English
    Delivered by: LearnQuest
    Price: 1,170 USD
  • Date: 28-Oct-2024 to 29-Oct-2024
    Time: 9AM - 5PM US Eastern
    Location: Virtual
    Language: English
    Delivered by: LearnQuest
    Price: 1,170 USD
  • Date: 23-Dec-2024 to 24-Dec-2024
    Time: 9AM - 5PM US Eastern
    Location: Virtual
    Language: English
    Delivered by: LearnQuest
    Price: 1,170 USD
View Global Schedule

Course Description


This course introduces experienced Java developers to the fundamentals and best practices in unit testing. It uses the JUnit 5 and Mockito libraries, both of which are ubiquitous in the Java community. It is intended for both developers who are new to testing, as well as those who are already familiar with it, but want more experience with testing using JUnit 5. Note that JUnit 5 is substantively different than JUnit 4. Although the core testing principles are the same, there are substantial implementation differences, important new features, and a brand new extension model. Testing with mocks is covered in detail, using Mockito. We explore testing enterprise components in the persistence, service, and web layers, outlining the issues involved in each. In-container testing is introduced as a more meaningful approach to testing enterprise components, vs. standalone testing with mocks, and we examine this at each of the main layers in an enterprise application.




Java with OO Development programmers as well as developers with JUnit 3 and 4 experience. that need to update their skills to JUnit 5.


    The student is expected to have a good working knowledge of Java and OO, including the use of interfaces, abstract classes, collections, factories, and generics. Experience with Java 8 lambda expressions is helpful, but not strictly required. A brief primer on the Java 8 features employed by JUnit is included in the course.


Java Testing with JUnit 5
  • Overview
  • Agenda
  • Conventions
Session 1: Unit Testing with JUnit 5
  • Objectives
  • Testing Overview
  • Overview
  • JUnit 5
  • New in JUnit 5?
  • Library Components
  • Library Components - Illustrated
  • a Test - First Example
  • Tests in the IDE
  • Tests in Other Environments
  • Conventions and Organizing Tests
  • 1.1 - Getting Started with JUnit
Tests and Assertions
  • Test Methods
  • All about Expectations
  • Point Assertions
  • Messages
  • Messages - Useful or Not?
  • Messages - a Practical Approach
  • 1.2 - Tests and Assertions
Test Fixtures and Lifecycle
  • Fixtures - @BeforeEach and @AfterEach
  • Fixtures - Example
  • and @AfterAll
  • of Execution - Full Test Lifecycle
  • Instance Creation
  • Lifecycle
  • 1.3 - Test Fixtures and Lifecycle
Session 2: Writing and Running Tests
  • Objectives
  • Aside - Java 8 New Features -
  • and Optionals
  • and Static Interface Methods
  • Interface - dEfined
  • a Method Down to its Essence
  • Expression as Functional Interface
  • Interfaces and Lambdas
  • Functional Interfaces
  • in JUnit - Executable
  • in JUnit - ThrowingSupplier<T>
  • in JUnit - ThrowingConsumer<T>
Additional Testing Needs
  • for Exceptions
  • for Exceptions - Example
  • Timeouts
  • Timeouts - Example
  • Groups
  • Groups - Example
  • 2.1 - Exceptions, Assertion Groups, and Timeouts
Running Tests
  • Library Components - Revisited
  • of Ways to Run Tests
  • Support - Eclipse
  • Support - IntelliJ IDEA
  • for Maven Project - mvn test
  • maven-surefire-plugin
  • Platform Console Launcher
  • the Console Launcher
  • Tests Programmatically
  • Which Tests Get Run
  • Discovery and Selection
  • 2.2 - Running Tests
  • Names
  • and Filtering Tests with Tags
  • Tags at Test Run
  • Expressions
  • Parameters
  • Configuration Parameters
  • Tests
  • Test Class Results - Illustrated
  • Test Class Results - Illustrated
  • Tests - Example
  • for Nested Test Classes
  • 2.3 - Test Reporting and Filtering
Advanced Capabilities
  • Composed Annotations
  • Good OO in Test Classes
  • with Test Classes
  • All about Removing Redundancy
  • - Overview
  • and Using Extensions
  • and Insertion Points
  • Lifecycle with Extension Callbacks
  • Test Execution [new in 5.1.0]
  • Tests vs Assumptions
  • Conditions at Runtime
  • Tests
  • Tests - Details
  • 2.4 - Advanced Capabilities
JUnit 4 Migration
  • Do Nothing Case
  • with Old Software
  • JUnit 4 Tests to Jupiter API
  • in Migration - API Changes
  • in Migration - Runners and Rules
  • 4 Test Suites
  • 4 Test Suites on the JUnit Platform
  • 4 Test Suites - Example
Best Practices
  • Are Real Code
  • to Test
  • void and Private Methods
  • Thorough
  • Small Tests vs. Fewer Large Tests
  • to Break It
  • and Broad Testing
  • of Good Tests
  • Testable Code
  • Testable Code
  • Anti-Patterns
  • Reading
Session 3: Testing with Mocks
  • Objectives
  • of Mock Objects
  • as Collaborators
  • Mockito
Creating and Using Mocks
  • Steps in Mocking
  • Mockito Class
  • Evolution in Mock Creation
  • Creation with JUnit 5
  • Method Calls
  • Much Stubbing?
  • - Business Object and Collaborator
  • - Setting up the Mock and Testing
  • 3.1 - Using Mock Objects
Additional Capabilities
  • Matchers
  • Argument Matchers
  • Mocking with Spies
  • the Unmockable
  • Injection of Mocks
  • Injection of Mocks
  • 3.2 - Additional Capabilities [Optional HW]
Session 4: Testing Enterprise Components
  • Objectives
  • of Testing
  • of Testing
  • Issues Involved
  • and the HAS-A Relationship
  • in the Java EE Container
  • Options
  • vs. In-Container Testing
  • vs. In-Container Testing
  • vs. In-Container Testing
  • Necessarily Competitors
Testing the Persistence Layer
  • vs. Implementation
  • Really Need a Database
  • vs. In-Container Testing
  • Specific to Database Testing
  • 4.1 - Testing the Persistence Layerr
  • Testing
  • It Looks Like
  • Configuration and Deployment
Testing Services
  • Issues, Different Layer
  • It Worth It?
Testing Web Components
  • Saved the Hardest for Last
  • Issues, Easier Answer
  • Testing Isn't Enough
  • vs. Automated Testing
  • as Much as Possible
  • the Web Browser
  • of What We've Done
  • of What We've Done
2023 Top 20 Training Industry Company - IT Training

Need Help?

Call us at 877-206-0106 or e-mail us at

Personalized Solutions

Need a personalized solution for your Training? Contact us, and one of our training advisors will help you find the best solution.

Contact Us

Need Help?

Do you have a question about the courses, instruction, or materials covered? Do you need help finding which course is best for you? We are here to help!

Talk to us

20% Off All AI Training Courses

Achieve more with AI-powered tools and strategies.


20% Off All AI Training Courses

Self-Paced Training Info

Learn at your own pace with anytime, anywhere training

  • Same in-demand topics as instructor-led public and private classes.
  • Standalone learning or supplemental reinforcement.
  • e-Learning content varies by course and technology.
  • View the Self-Paced version of this outline and what is included in the SPVC course.
  • Learn more about e-Learning

Course Added To Shopping Cart







Self-Paced Training Terms & Conditions


Sorry, there are no classes that meet your criteria.

Please contact us to schedule a class.

STOP! Before You Leave

Save 0% on this course!

Take advantage of our online-only offer & save 0% on any course !

Promo Code skip0 will be applied to your registration

Nothing yet
here's the message from the cart

To view the cart, you can click "View Cart" on the right side of the heading on each page
Add to cart clicker.

Purchase Information

??elearning-coursenumber?? ??coursename??
View Cart

Need more Information?

Speak with our training specialists to continue your learning journey.


Delivery Formats


By submitting this form, I agree to LearnQuest's Terms and Conditions

heres the new schedule
This website uses third-party profiling cookies to provide services in line with the preferences you reveal while browsing the Website. By continuing to browse this Website, you consent to the use of these cookies. If you wish to object such processing, please read the instructions described in our Privacy Policy.
Your use of this LearnQuest site affirms your consent to our use of session and persistent cookies to track how you use our website.