Book Image

Java EE 8 Development with Eclipse - Third Edition

By : Ram Kulkarni
Book Image

Java EE 8 Development with Eclipse - Third Edition

By: Ram Kulkarni

Overview of this book

Java EE is one of the most popular tools for enterprise application design and development. With recent changes to Java EE 8 specifications, Java EE application development has become a lot simpler with the new specifications, some of which compete with the existing specifications. This guide provides a complete overview of developing highly performant, robust and secure enterprise applications with Java EE with Eclipse. The book begins by exploring different Java EE technologies and how to use them (JSP, JSF, JPA, JDBC, EJB, and more), along with suitable technologies for different scenarios. You will learn how to set up the development environment for Java EE applications and understand Java EE specifications in detail, with an emphasis on examples. The book takes you through deployment of an application in Tomcat, GlassFish Servers, and also in the cloud. It goes beyond the basics and covers topics like debugging, testing, deployment, and securing your Java EE applications. You'll also get to know techniques to develop cloud-ready microservices in Java EE.
Table of Contents (20 chapters)
Title Page
Copyright and Credits
Dedication
Packt Upsell
Free Chapter
1
Introducing JEE and Eclipse
Index

Mocking external dependencies for unit tests


Unit tests are meant to execute without any external dependencies. We can certainly write methods at a granular level, such that the core business logic methods are totally separate from methods that have external dependencies. However, sometimes this is not practical, and we may have to write unit tests for code that are closely dependent on methods that access external systems.

For example, let's assume that we have to add a method in our Course bean to add students to the course. We will also mandate that the course has an upper limit on the number of students that it can enroll, and once this limit is reached, no more students can be enrolled. Let's add the following method to our Course bean:

public void addStudent (Student student) 
    throws EnrolmentFullException, SQLException { 
  //get current enrolement first 
  int currentEnrolment = courseDAO.getNumStudentsInCourse(id); 
  if (currentEnrolment >= getMaxStudents()) 
    throw new...