java中怎么加测试包_java – 在arquillian测试中使用shrinkWrap在部署jar中添加包

我正在使用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().我的项目中有数百个包.明显的代码大小将会大大增加

还有其他办法吗?或者我必须犯一些大错误

解决方法:

我建议你使用包路径的字符串表示:“com.root.core”等.还有方法:

addPackage(String pack)

addPackages(boolean recursive, String... packages)

最新的更适合你我猜,因为它为你提供了递归添加包的可能性,因此你避免重复包括每个包.例如:

.addPackages(true, "com.root")

标签:java,jboss,ejb,jboss-arquillian

来源: https://codeday.me/bug/20190713/1453647.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值