我正在尝试使用Arquillian为已经存在的项目运行一些单元测试。
我的基本测试:
@RunWith(Arquillian.class)
public class InferenceTest {
@EJB private InferenceEJB inferenceEJB;
@Deployment
public static JavaArchive createDeployment() {
return ShrinkWrap.create(JavaArchive.class)
.addClasses(...my classes...)
.addPackages(false, ...packages from my classes...)
.addAsManifestResource(
EmptyAsset.INSTANCE,
ArchivePaths.create("beans.xml")
);
}
@Test
public void testInference() throws NamingException {
assertNotNull("Successfully injected an EJB", inferenceEJB);
}
}
当我用maven(mvn test)运行时,我遇到了一大堆问题。基本上,它们归结为三件事:
严重:部署应用时出现异常 [e03a719e-27d5-4cdd-af7f-70831402560c]:无法解析参考 本地ejb-ref name = ...... ExportEJB / managerEJB,Local 3.x接口 = ....... DataManagerEntity,EJB链接= NULL,查找=,= mappedName,JNDI名称=,= RefType的会话 PlainTextActionReporterFAILUREDescription:部署AdminCommandError 部署期间发生:部署应用程序时出现异常 [e03a719e-27d5-4cdd-af7f-70831402560c]:无法解析参考 本地ejb-ref name = ....... ExportEJB / managerEJB,Local 3.x接口 = ........ DataManagerEntity,EJB链接= NULL,查找=,= mappedName,JNDI名称=,= RefType的会话。 有关更多详细信息,请参阅server.log。
我试图通过将所有相关的类/包添加到@Deployment来解决第一个问题,但没有成功。我不知道是什么导致了最后一个。
有人有什么想法吗?