0345 4506120

Unit Testing using JUnit

This JUnit course focuses on the fundamental concepts of Unit Testing as part of the Software Development Life Cycle and covers the core features of JUnit which is the most popular framework for implementing Unit Testing within Java projects. Version 4 of the JUnit Framework is used in this course which is the most current version.

This hands-on course shows delegates how to design and develop JUnit Test Cases for a variety of Java modules. Delegates will learn how to build related groups of Test Cases into Test Suites that can be run together to test multiple Java classes. Delegates will also learn how to integrate JUnit with build utilities such as Apache Ant and to customise test reports.

The use of Mocks and Stubs to isolate the system under test from external dependencies will also be covered and will be used to test Data Access Objects and Web Responses.

Who will the Course Benefit?

This Unit Testing with JUnit course is aimed at staff and consultants working as part of a development team using Unit Testing including Programmers, Testers, Subject Matter Experts, Project Managers and anyone who needs a good understanding of the use of JUnit for Unit Testing within software development.

Learning Objectives

The delegate will learn and acquire skills as follows:

  • Installing and Configuring JUnit
  • Designing Unit Tests
  • Writing Test Classes
  • Integrating with Apache Maven
  • Stubbing and Mocking
  • Testing Data Access Objects (DAOs)
  • Testing XML/HTML Web Responses

Course Objectives

This course aims to provide the delegate with the knowledge to be able to describe the concepts of unit testing, design, write and execute test cases using JUnit,  integrate JUnit with Apache Maven, stub and mock collaborators, and test DAOs and web responses.

Pre-Requisites

Delegates should have attended the pre-requisite Java Programming 2 course or  have equivalent experience with the Java programming language.

Course Content

Course Introduction

  • Administration and Course Materials
  • Course Structure and Agenda
  • Delegate and Trainer Introductions

Session 1: UNIT TESTING

  • Introduction to Unit Testing
  • Other Categories of Software Testing
  • Introduction to Unit Test Structure and Organisation
  • Introduction to Test Doubles
  • Test Coverage
  • Guidelines for Good Unit Tests

Session 2: INTRODUCTION TO JUNIT

  • Main Features of JUnit
  • JUnit Syntax
  • Integrating JUnit with Eclipse

Session 3: WRITING TEST CASES

  • Test Project Structure
  • Test Case Structure
  • Junit Annotations
  • JUnit Assertions
  • Parameterised Junit Tests

Session 4: INTEGRATING WITH ANT AND MAVEN

  • JUnit Integration with Apache Ant
  • JUnit Integration with Apache Maves

View Course Contents - DAY 2

Unit Testing using JUnit Training Course

Session 5: TESTING STRATEGIES

  • Test Stubs
  • Command line arguments
  • Stubbing a Database Connection with JUnit
  • Stubbing a HTTP Connection with JUnit

Session 6: MOCKING

  • State vs Interaction Tests
  • Test Mocks
  • The Phases of Mocking
  • Mocking using JUnit and Mockito

Session 7: TESTING DATA ACCESS OBJECTS

  • Strategies for Testing Data Access Objects
  • Testing Entity Mappings using an In-Memory Database with JUnit and Hibernate

Session 8: TESTING WEB RESPONSES

  • Validating XML against a Schema
  • Testing HTML Responses using HTMLUnit
  • Testing XML Responses using XMLUnit

Pre-Reading

Exercises and examples are used throughout the course to give practical hands-on experience with the techniques covered.

Privacy Notice

In order to provide you with the service requested we will need to retain and use your contact information in accordance with our Privacy Notice. If you choose to provide us with this information you explicitly consent to us using the information as necessary to provide the request service to you. If you do not agree please do not proceed to request the service from us.

Marketing Permissions

Would you like to receive our newsletter and other information on products and services which we think will be of interest to you by email. We will always treat your information with care and in accordance with our Privacy Notice. You are free to withdraw this permission at any time.

 

Virtual Classroom

Virtual classrooms provide all the benefits of attending a classroom course without the need to arrange travel and accomodation. Please note that virtual courses are attended in real-time, commencing on a specified date.

Virtual Course Dates

Our Customers Include