【发布时间】:2015-08-10 12:10:01
【问题描述】:
我正在使用 arquillian 进行单元测试。我正在使用 shrinkWrap 创建部署 jar。但是为此我需要添加我项目中使用的所有包,数量很多。
以下是我的测试文件
@RunWith(Arquillian.class)
public class GreeterTest {
@Deployment
public static JavaArchive createDeployment() throws NamingException {
return ShrinkWrap.create(JavaArchive.class, "test.jar")
.addPackage(ABC.class.getPackage())
.addPackage(EFG.class.getPackage())
.addPackage(HIJ.class.getPackage())
.addPackage(KLM.class.getPackage())
.addPackage(NOP.class.getPackage())
.addPackage(QRS.class.getPackage())
.addPackage(TUV.class.getPackage())
.addPackage(XYZ.class.getPackage())
.addAsResource("test-persistence.xml", "META-INF/persistence.xml")
.addAsManifestResource(EmptyAsset.INSTANCE, "beans.xml");
}
@Inject
ABC abc;
@Inject
EFG efg;
@Inject
HIJ hij;
@Inject
KLM klm;
@Inject
NOP nop;
@Test
public void shouldBeAbleToInjectEJBAndInvoke() throws Exception {
abc.getDetail();
}
}
你可以看到 .addPackage()。我的项目中有数百个包。明显的代码量将大幅增加
还有其他方法吗?不然我一定是犯了大错
【问题讨论】:
-
顺便说一句。您的资源定义错误。应该是:
.addAsManifestResource("META-INF/test-persistence.xml", "persistence.xml");
标签: java jboss ejb jboss-arquillian