Java Testing with JUnit 5 Training in Sunnyvale
Enroll in or hire us to teach our Java Testing with JUnit 5 class in Sunnyvale, California by calling us @303.377.6176. Like all HSG
classes, Java Testing with JUnit 5 may be offered either onsite or via instructor led virtual training. Consider looking at our public training schedule to see if it
is scheduled: Public Training Classes
Provided there are enough attendees, Java Testing with JUnit 5 may be taught at one of our local training facilities.
We offer private customized training for groups of 3 or more attendees.
|
||
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. Developers with JUnit 3 and 4 experience will be well-served by the course.
Testing with mocks is covered in detail, using Mockito. Mocking is a standard technique, and we’ll go beyond the basics to introduce more flexible options, as well as Mockito’s dependency injection facilities. We use the new MockitoExtension to integrate Mockito into JUnit tests.
We explore testing enterprise components in the persistence, service, and web layers, outlining the issues involved in each. In the persistence layer, we show how to set up and use an embedded database, and contrast this to using mocks or fakes as a standalone alternative. We examine the unique issues in database testing with regard to test repeatability and independence, using various techniques for auto-rollback of transactions.
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.
Best practices are emphasized and demonstrated throughout, and our goal is to make you “test infected,” so that your development effort is as much about good testing and writing testable code as it is about writing the business code itself.
Course Length: 2 Days
Course Tuition: $990 (US) |
Prerequisites |
|
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 and covered if necessary. |
Course Outline |
Session 1: Unit Testing with JUnit 5
Overview
Introducing JUnit 5
JUnit 5 Library Components
Writing and Running Tests
Tests and Assertions
Test Methods
Assertions in Depth
Assertion Messages
Test Fixtures and Lifecycle
@BeforeEach, @AfterEach
@BeforeAll, @AfterAll
Test Lifecycle
Session 2: Writing and Running Tests
Java 8 Features Used in JUnit 5
Additional Testing Needs - Exceptions, Timeouts, Assertion Groups
Running Tests
IDE Support
maven support
JUnit Platform Console Launcher
Test Discovery and Selection
Test Configuration
Nested Tests
Advanced Capabilities
Extensions
Callbacks and Insertion Points
Conditional Test Execution
Parameterized Tests
JUnit 4 Migration
Best Practices
Session 3: Testing with Mocks
Overview and Mockito Introduction
Creating and Using Mocks
The Mockito Class and Mock Creation
Mock Creation with JUnit 5
Stubbing
Additional Capabilities
Argument Matchers
Partial Mocking with Spies
Dependency Injection with Mocks
Session 4: Testing Enterprise Components
Overview
Types of Testing
Standalone vs In-Container Testing
Testing the Persistence Layer
Testing Services
Testing Web Components
|
Course Directory [training on all levels]
Technical Training Courses
Software engineer/architect, System Admin ... Welcome!
- .NET Classes
- Agile/Scrum Classes
- Ajax Classes
- Android and iPhone Programming Classes
- Blaze Advisor Classes
- C Programming Classes
- C# Programming Classes
- C++ Programming Classes
- Cisco Classes
- Cloud Classes
- CompTIA Classes
- Crystal Reports Classes
- Design Patterns Classes
- DevOps Classes
- Foundations of Web Design & Web Authoring Classes
- Git, Jira, Wicket, Gradle, Tableau Classes
- IBM Classes
- Java Programming Classes
- JBoss Administration Classes
- JUnit, TDD, CPTC, Web Penetration Classes
- Linux Unix Classes
- Machine Learning Classes
- Microsoft Classes
- Microsoft Development Classes
- Microsoft SQL Server Classes
- Microsoft Team Foundation Server Classes
- Microsoft Windows Server Classes
- Oracle, MySQL, Cassandra, Hadoop Database Classes
- Perl Programming Classes
- Python Programming Classes
- Ruby Programming Classes
- Security Classes
- SharePoint Classes
- SOA Classes
- Tcl, Awk, Bash, Shell Classes
- UML Classes
- VMWare Classes
- Web Development Classes
- Web Services Classes
- Weblogic Administration Classes
- XML Classes
Business Training Courses
Project Managers, Business Analysts, Paralegals ... Welcome!
Upcoming Classes
Gain insight and ideas from students with different perspectives and experiences.