您的位置:首页 > 其它

如何通过junit测试EJB(Jboss容器)

2013-07-11 13:01 288 查看
maven配置文件:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion>
<groupId>com.ufis_as</groupId>
<artifactId>EK-PTS-TEST</artifactId>
<version>0.0.1-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.8.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>UfisApp_EJB_LIB</artifactId>
<version>1.0</version>
</dependency>

<dependency>
<groupId>org.jboss.as</groupId>
<artifactId>jboss-as-ejb-client-bom</artifactId>
<version>7.1.1.Final</version>
<type>pom</type>
</dependency>
<dependency>
<groupId>org.jboss.as</groupId>
<artifactId>jboss-as-jms-client-bom</artifactId>
<version>7.1.1.Final</version>
<type>pom</type>
</dependency>

<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>6.0</version>
<scope>provided</scope>
</dependency>

</dependencies>
</project>


Junit 测试代码:

package com.ufis_as.ufisapp.server.cdm.pts.eao;

import java.util.ArrayList;
import java.util.List;
import java.util.Properties;

import javax.naming.Context;
import javax.naming.InitialContext;

import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;

import com.ufis_as.ufisapp.server.messaging.EntUfisCommunicationObject;
import com.ufis_as.ufisapp.server.ws.entities.EntComponentMeta;

public class BlActivityFacadeTestCase {

private static IPtsActivityFacadeRemote _activity;

@BeforeClass
public static void setUpBeforeClass() throws Exception {
try {
Properties jndiProps = new Properties();
jndiProps.put(Context.INITIAL_CONTEXT_FACTORY,
"org.jboss.naming.remote.client.InitialContextFactory");
jndiProps.put(Context.PROVIDER_URL, "remote://localhost:4447");
// username
jndiProps.put(Context.SECURITY_PRINCIPAL, "app");
// password
jndiProps.put(Context.SECURITY_CREDENTIALS, "appapp");

//这行代码必须要加入
jndiProps.put("jboss.naming.client.ejb.context", true);
final Context context = new InitialContext(jndiProps);
final String appName = "UfisApp-EE-ear";
final String moduleName = "UfisApp-EE-ejb-1.0";
final String distinctName = "";
final String beanName = "BlActivityFacade";
final String viewClassName = IPtsActivityFacadeRemote.class
.getName();
final String loopNm = appName + "/" + moduleName + "/"
+ distinctName + "/" + beanName + "!" + viewClassName;
System.out.println(loopNm);
_activity = (IPtsActivityFacadeRemote) context.lookup(loopNm);
} catch (Exception e) {
e.printStackTrace();
}
}

@AfterClass
public static void tearDownAfterClass() throws Exception {
}

@Before
public void setUp() throws Exception {
}

@After
public void tearDown() throws Exception {
}

@Test
public void test() {
if (_activity != null) {
EntComponentMeta _meta = new EntComponentMeta();
_meta.setFltID("1909655070");
List<String> roleIds = new ArrayList<>(5);
roleIds.add("EA92D9F6-4B8E-4980-A019-357A8FF7CAF5");
EntUfisCommunicationObject commObject = _activity.getActivityList(
_meta, roleIds);
System.out.println(commObject);
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: