• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 417
  • Last Modified:

Junit - how do i use the Junit to test for ejb function

I have a ejb applicaiton used to insert the record into the database. It completed.

Now i want to use junit to test for inserting a record.

For my i dont have any idea how to do it.

Please advise.

Thanks
0
LeanMoreTryMore
Asked:
LeanMoreTryMore
  • 6
  • 5
1 Solution
 
suprapto45Commented:
For me,

Last time, when I was using EJB, I used http://www.junitee.org/ and it works great.

http://www.junitee.org/tutorial.html

However, other may have other suggestions so you may be waiting for alternative solution

David
0
 
LeanMoreTryMoreAuthor Commented:
Thanks. but there is no sample for testing ejb.

please help
0
 
LeanMoreTryMoreAuthor Commented:
I need to test the CMP entity bean for inserting a record into the database

The CMP entity bean contains the following classes

CustomerAccount.java
CustomerAccountBean.java
CustomerAccountHome.java
CustomerAccountLocal.java
CustomerAccountLocalHome

==
The IDE create the Junit template like below:

package com.fujitsu.au;

import junit.framework.TestCase;

public class TestInsert extends TestCase {

      public TestInsert(String arg0) {
            super(arg0);
      }

}

===
Any idea what else i need to add to the above TestInsert
0
Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

 
suprapto45Commented:
Hi,

The URL that I gave you is the sample to test on EJB.
http://www.junitee.org/tutorial.html

Basically, you need to create one more web application to test the EJB. If you need more detailed of the steps, look at
http://www.junitee.org/usersguide.html

It may be a bit complicated to set up but should be doable.

David
0
 
suprapto45Commented:
What IDE are you using?
0
 
LeanMoreTryMoreAuthor Commented:
SAP NetWeaver (shit product)
0
 
LeanMoreTryMoreAuthor Commented:
Can I test without creating the web page?

I remember when I was at Sun's J2EE course, they can test the EJB function before creating web page.

like below: ( From sun's j2ee course I attented). But when i do the same thing, it does not work from within the IDE

Test for Searching
============
package bank;

import javax.naming.*;
import javax.rmi.*;
import java.util.*;

public class CustomerTest {

  public static void main(String [] args) {
    try {
      Hashtable props = new Hashtable();
      props.put ("java.naming.factory.initial",
                 "com.sun.jndi.cosnaming.CNCtxFactory");
      props.put ("java.naming.provider.url",
                 "iiop://localhost:3700");
      Context c = new InitialContext(props);

      Object obj = c.lookup("ejb/Customer");
      CustomerHome customerHome =
        (CustomerHome) PortableRemoteObject.narrow(obj, CustomerHome.class);

      Customer cust = customerHome.findByPrimaryKey(new Integer(1));
      System.out.println("firstname: " + cust.getFirstname());
      System.out.println("lastname: " + cust.getLastname());
      System.out.println("address: " + cust.getAddress());
      System.out.println("phone: " + cust.getPhone());
      System.out.println("balance: " + cust.getBalance());
      cust.setBalance(99.00);
      System.out.println("new balance: " + cust.getBalance());

      Collection customers = customerHome.findByBalance(50);
      Iterator it = customers.iterator();
      while(it.hasNext()) {
        cust = (Customer) it.next();
        System.out.println(cust.getFirstname());
      }
    } catch (Exception e) {
      e.printStackTrace();
    }

  }

}
0
 
suprapto45Commented:
>>"SAP NetWeaver (shit product)"
Grr...never used that...can't really help on this.

>>"like below: ( From sun's j2ee course I attented). But when i do the same thing, it does not work from within the IDE"
It is not JUnit but it is a simple java class that called EJB and do the necessary invokation.

Give me a sec....
0
 
suprapto45Commented:
I can't really help you much on this as I have limited knowledge of your IDE.

>>"I remember when I was at Sun's J2EE course, they can test the EJB function before creating web page."
This could be a good starting point to you albeit it is not JUnit. Try to run it as a simple Java application. The error may come out that you cannot find the EJB properly.

The good sample of JUnit is
http://www.laliluna.de/eclipse-junit-testing-tutorial.html

But that is for Eclipse :(
0
 
LeanMoreTryMoreAuthor Commented:
When i compile the below, it says "junit.framework never use" WHY.



import junit.framework.TestCase;
import java.rmi.RemoteException;
import java.util.Date;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.rmi.PortableRemoteObject;

import com.fujitsu.au.servicerequest.util.ServiceRequestModel;
import com.fujitsu.au.servicerequest.util.ServiceRequestException;
import com.fujitsu.au.servicerequest.ServiceRequestProcessorHome;
import com.fujitsu.au.servicerequest.ServiceRequestProcessor;

import junit.framework.TestCase;

public class TestInsert extends TestCase {

        protected ServiceRequestProcessor sr;

          public TestInsert(String name) { super(name); }

            protected void setUp() throws Exception {
                  Context jndiContext = new InitialContext();
                  Object einRef = jndiContext.lookup("java:comp/env/ejb/ServiceRequestProcessorBean");
                  ServiceRequestProcessorHome home =
                         (ServiceRequestProcessorHome)PortableRemoteObject.narrow(einRef,ServiceRequestProcessorHome.class);
                  this.sr = home.create();
            }

            protected void tearDown() throws Exception      {
                  this.sr = null;
            }

        public void testInsertRec() throws RemoteException, ServiceRequestException {            
              Date todayDate = new Date();
                  ServiceRequestModel srRec = this.sr.saveServiceRequest("DOR-20061123-01",
                                                                         "David Smith",
                                                                         "Address Line 1",
                                                                         "Address Line 2",
                                                                         "Suburb",
                                                                         "Sydney",
                                                                         "2000",
                                                                         "Australia",
                                                                         "David.Smith@yahoo.com",
                                                                         "My test Message",
                                                                         "Submit",
                                                                         "HELLO",
                                                                         todayDate,
                                                                         "David");
        }
}
0
 
suprapto45Commented:
>>"When i compile the below, it says "junit.framework never use" WHY."
Can you post the full stack trace of the exception?

David
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

  • 6
  • 5
Tackle projects and never again get stuck behind a technical roadblock.
Join Now