Unit Testing EJB3 + Hibernate Using OpenEJB + TestNG + jMockIt - Part I

Finally I found a set of tools which made my unit testing much more easier! In this article I am taking you through my unit testing strategies and how I managed to write unit test cases without writing a bunch of code.

The following are some of the technologies I use in my application:


   1. EJB 3.0
   2. Hibernate 3.0
   3. JBoss 5.0.1
   4. JMS (JBoss Messaging)

Let me explain in detail how OpenEJB + TestNG + jMockIt combination helped me in unit testing my code.

1. Defining a model class (UserInfo.java)
   public class UserInfo implements java.io.Serializable {
        private String loginId;
 private String name;
 public String getLoginId() {
  return this.loginId;
 }
 public void setLoginId(String loginId) {
  this.loginId = loginId;
 }
 public String getName() {
  return this.name;
 }
 public void setName(String name) {
  this.name = name;
 }
   }

2. Defining the Hibernate hbm file (UserInfo.hbm.xml)
   <hibernate-mapping>
       <class name="com.sample.model.UserInfo" table="USER_INFO">
           <id name="loginId" type="string">
               <column name="LOGIN_ID" length="32" />
               <generator class="assigned" />
           </id>
           <property name="name" type="string">
               <column name="NAME" length="50" />
           </property>
       </class>
   </hibernate-mapping>

3. Data Access Object for UserInfo (UserInfoHibernateDAO.java)
   public class UserInfoHibernateDAO {
 public UserInfo getUserInfo(String loginId){
    Session session = HibernateUtil.getSessionFactory().openSession();
    return (UserInfo)session.get(UserInfo.class, loginId);
 }
   }
4. Creating a stateless EJB
   @Stateless
   public class HelloBean implements Hello {
 public String getUserName(String loginId){
    UserInfoHibernateDAO hibernateDAO = new UserInfoHibernateDAO();
    UserInfo userInfo = hibernateDAO.getUserInfo(loginId);
    return userInfo.getName();
 }
   }
Unit Testing EJB3 + Hibernate Using OpenEJB + TestNG + jMockIt - Part II
Part II

Comments

Popular posts from this blog

Induction Cooker Showing an Error Code? Induction Cooker Error Codes Explained

HDFC Bank introduces Missed Call Service to know Account Balance

Top Travel Websites Reviewed - Makemytrip, Yatra, ClearTrip, Ezeego1 and TravelGuru