JA18 - Java Test-Driven Development - 2 Days

View Dates and Locations

Course Description

All developers want to build good quality software but not all developers test their software as they go along. Why not? A common explanation is "I don't have time to write tests!" The more pressure they feel, the fewer tests they write. This leads to less accurate and stable code, less productivity, less confidence and, ultimately, more pressure. It's a vicious cycle.

This course is designed to help you break out of the cycle by embracing unit-testing and, in particular, test-driven development. We will introduce the techniques and the tools necessary to prove your code as you go along.


At least 3 months Java programming experience.


What you will learn:

  • Creating tests using JUnit
  • Using assertions and Hamcrest matchers
  • Adopting a test-driven approach to development
  • Using stubs and mock objects
  • Writing integration tests
  • Testing the user interface


For on-site courses (i.e. at your premises), we are more than happy to tailor the course agenda to suit your exact requirements. In many cases, we are able to build your in-house standards and naming conventions into the delivered course.

On-site course enquiry (from £165 pp per day)

Course Details

View Dates and Locations

Introduction to JUnit
Getting started with unit testing using JUnit
Generating test stubs
Using assertions
Running tests
Test statuses
Dealing with exceptions
Best practice

Going Further with Unit Testing
Organizing projects
Performing setup and teardown operations
Using Hamcrest matchers
Defining a custom matcher
Test suites

TDD and Agile Development
Understanding the TDD process
Test, code, refactor
TDD strategies
Refactoring techniques
Testing patterns
Best practice

Unit Testing with Mock Objects
Managing dependencies
Defining test doubles
Stubs, mocks, dummies, and fakes
Tool support JMock, EasyMock, and Mockito

Additional testing techniques
Integration testing
Testing the user interface using Selenium WebDriver
Behaviour-driven design (BDD)
Using JBehave for BDD



Please be aware that due to COVID-19 we are not currently running public courses. However, most of our courses can be delivered over the web (with mainframe access where necessary).

Dates are being arranged daily - please phone or email for further information.

Course Enquiry