A complete understanding of TDD concepts, processes, and practices requires some in-depth hands-on experience. During this class, students spend significant time working on a course project. The project exercises are specifically oriented towards using TDD to implement a complex and multi-faceted web application that uses a database in its final form. During the course project, the students:
- Test basic Java functionality
- Test web-functionality implemented in JEE
- Use mocks for needed resources
- Replace mocks and test database operations
- Optionally, integrate the layers of the application using Spring and testing as they progress
This course includes coverage of many of the essential JUnit capabilities, and can be tailored to focus exactly on the areas that you are interested in. Working within in a dynamic, learning environment, guided by our expert TDD team, attendees will::
- Understand JUnit.
- Understand and use the JUnit Test Runner interface.
- Use JUnit to drive the implementation of Java code.
- Test applications using native IDE support.
- Best practices and patterns for test development.
- Understand JUnit’s strengths and weaknesses
- Understand the role of debugging when done in conjunction with tests.
- Understand not only the fundamentals of the TDD using Java, but also its importance, uses, strengths and weaknesses.
- Understand how JUnit affects your perspective on development and increases your focus on a task.
- Learn good JUnit coding style.
- Create well structured JUnit programs.
- Compile and execute programs using JUnit, jWebUnit, and DBUnit using the IDE of your choice.
- How to extend testing with mock objects using EasyMock.
- Look at refactoring techniques available to make code as reusable/robust as possible.
- Discuss various testing techniques.
Who Can Benefit
This is an intermediate-to-advanced level Java course, designed for developers who wish to get up and running on test-driven development immediately.
- Experienced Java programmers
Attendees should be familiar with Java and object-oriented technologies. Real world programming experience is a must.