Master Test Driven Development with our comprehensive TDD and Unit Testing Essentials course designed for Java developers seeking to enhance their software development skills with JUnit and industry-leading testing frameworks.
EnrollUnderstand the core principles of Test Driven Development and Unit Testing
Implement effective unit tests using JUnit
Explore and utilize advanced JUnit features and best practices
Leverage mock objects and refactoring to improve code quality
Test Driven Development (TDD) and Unit Testing Essentials is a three-day, comprehensive hands-on test-driven development / JUnit / TDD training course geared for developers who need to get up and running with essential Test-driven development programming skills using JUnit and various open-source testing frameworks. Throughout the course you'll learn, explore and gain practical experience working with best practices for writing great programs in Java, using test-driven development techniques. This course quickly introduces you to the core features and benefits of JUnit. You'll leave this course armed with the skills required to leverage solid test driven development and unit testing techniques, using the latest industry techniques and best practices. Throughout the course, you’ll work on a project with labs specifically oriented towards using TDD to implement a complex and multi-faceted web application that uses a database in its final form.
Rationale for TDD
The process of TDD
Advantages to TDD
Side-effects of TDD
Tools to support TDD
Tutorial: Setup IntelliJ for Using Maven
Purpose of Unit Testing
Good Unit Tests
Test Stages
Unit Testing Vs Integration Testing
Understanding Unit Testing Frameworks
Understand and work with the features of JUnit
Write unit tests using @Test annotation
Test Result Verification (Assertions)
Manage fixtures using @BeforeEach, @AfterEach, @BeforeAll and @AfterAll annotations
Maven setup using Surefire plugin
Lab: Demo JUnit
Lab: Build JUnit Case Study
Lab: Jumpstart JUnit
Use @DisplayName to specify a custom name for the test
Check for exceptions thrown by test
Use @Disabled to prevent a test class or method from running
Use timeouts to fail test that take longer than required
Test Execution Order
Lab: Working with @Test Annotation
Learn the notation of assertThat
Know the objective of Hamcrest library
Use Hamcrest's logical and object matchers
Use Hamcrest's number and collection matchers
Lab: Working with Hamcrest
The @ParameterizedTest annotation
A parameterized test to test code under several conditions
Define different sources for test data (@ValueSource, @CsvSource, @CsvFileSource, @EnumSource, @MethodSource, @ArgumentSource)
Lab: Working with Parameterized Tests
JUnit 4 vs JUnit 5
Nested Unit Tests
Repeated Tests
JUnit Extensions
ExecutionConditions
Lambda Support
Grouped Assertions
Lab: Working with Advanced Features
"Good" Tests
Bad Smell
White-Box Unit Testing
Black-Box Unit Testing
Automation and Coverage
Why We use Test Dummies
Working with Mock Objects
Using Mocks with the User Interface
Mock Object Strategies
Mockito Description and Features
Mockito Object Lifecycle
JUnit 5 and Mockito Dependency Injection
Stubs Using ArgumentMatchers
Verifying Behavior in Mockito
Partial Mock Objects
The Spy annotation
Lab: Mock Object and Mockito
PowerMock Description and Features
Using PowerMockito
@PrepareForTest
Mocking a final class or final method
Mocking a Static Method
State-based Testing
Interaction-based Testing
Mock Objects Support Each Approach
Three Areas to Check in a Test
Lab: Interaction-based Testing
Refactoring Overview
Refactoring and Testing
Refactoring to Design Patterns
Lab: Refactoring
Lab: Best Practices - Refactoring Tests
Setting up DbUnit
Defining a Dataset File in XML, CSV or Excel
Writing a DbUnit Test Class
Assert the results
Use the FailureHandler and ValueComparer
Using Date and Time in test sets
Export a data set
Lab: Introduction to DbUnit
Lab: DbUnit Assertions
Lab: Selenium and DbUnit
Your team deserves training as unique as they are.
Let us tailor the course to your needs at no extra cost.
Trusted by Engineers at:
and more...
Aaron Steele
Casey Pense
Chris Tsantiris
Javier Martin
Justin Gilley
Kathy Le
Kelson Smith
Oussama Azzam
Pascal Rodmacq
Randall Granier
Aaron Steele
Casey Pense
Chris Tsantiris
Javier Martin
Justin Gilley
Kathy Le
Kelson Smith
Oussama Azzam
Pascal Rodmacq
Randall Granier