首页 / 软件开发 / JAVA / 使用NetBeans IDE测试Enterprise Beans
使用NetBeans IDE测试Enterprise Beans2010-12-26使用 NetBeans IDE 测试 Enterprise BeansJohn Jullion-Ceccarelli 和 Petr BlahaJUnit 并不是测试企业应用程序的最佳测试框架,因为 JUnit 运行在与 enterprise beans 不同的 JVM 上。因此,必须使用远程接口来访问并测试 enterprise beans。开始之前,必须在计算机上安装 Sun Java System (SJS) Application Server Platform Edition 8.1(下载)。您无法将企业应用程序部署到绑定的 Tomcat 服务器。还必须在 IDE 中注册应用程序服务器,通过选择 Tools > Server Manager。设置示例项目下载示例项目 TestEnterpriseBean 并在 IDE 中打开它。该 bean 有一个会话 bean (AdminBean),拥有三个简单的业务方法:public String getString(String name) {
return "response:" + name;
}
public int getInt(int number1, int number2) {
return number1 * number2;
}
public vo.Person getVO() {
return new vo.Person("Joe User",13);
}生成测试右键单击项目的 Test Libraries 节点,然后选择 Add JAR/Folder 将应用程序服务器的 lib/j2ee.jar 和 lib/appserv-rt.jar 文件添加到测试类路径。展开 Enterprise Beans 节点,然后双击 AdminSB 在 Source Editor 中打开 AdminBean.java。按下 Ctrl-Alt-J 生成测试。单击 OK 使用默认值选项运行测试。删除基础架构方法的测试:testSetSessionContexttestEjbActivatetestEjbPassivatetestEjbRemovetestEjbCreate将以下字段声明添加到 AdminBeanTest:private beantest.AdminRemote admin;右键单击 AdminBeanTest.java,然后选择 Enterprise Resources > Call Enterprise Bean。选择 AdminSB,然后单击 OK。IDE 会输入一个 lookupAdminBean 方法。更改 lookupAdminBean 方法,使用全局 JNDI 名代替本地名:private beantest.AdminRemote lookupAdminBean() {
try {
javax.naming.Context c = new javax.naming.InitialContext();
Object remote = c.lookup("ejb/AdminBean");
beantest.AdminRemoteHome rv =
(beantest.AdminRemoteHome) javax.rmi.PortableRemoteObject.narrow(remote,
beantest.AdminRemoteHome.class);
return rv.create();
}将以下粗体表示的代码添加到 setUp 和 tearDown 方法中:protected void setUp() throws Exception {
admin = lookupAdminBean();
}
protected void tearDown() throws Exception {
admin.remove();
}