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

By the end of the course delegates should be able to:

  • Describe the concepts of testing
  • Describe JUnit
  • Write test cases
  • Use JUnit annotations and assertions
  • Combine test cases into test suites
  • Execute test cases/suites using test runners
  • Debug test failures
  • Produce test reports
  • Describe and use stubs
  • Describe and use mocks
  • Test Java Persistence API (JPA) Data Access Objects (DAOs)
  • Validate XML and HTML web responses

Skills Gained

The delegates will practise:

  • 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

Pre-Requisites

Pre-Requisite Courses

  • Java Programming

Course Content

  • 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 Maven

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

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.

 

Our Customers Include