Java 一个测试类中的多个部署方法
我正在尝试使用TestNG和Arquillian测试一个遗留应用程序。由于有一个约束,我需要用@Deployment注释两个不同的方法 方法1(用于仅部署测试代码并针对已在WildFly 10中部署和运行的应用程序运行它) 方法2(用于将整个应用程序与测试代码一起部署到远程WildFly 10服务器) 我的要求是Arquillian应该能够根据一些配置选择这些部署方法中的任何一种。目前,我正在注释不需要运行的部署方法。给定的@Deployment.order没有任何用处,因为所有部署仍将运行,只有它们的执行顺序可以控制 非常感谢您的帮助。您可以尝试(您需要自己填写耳朵状况):Java 一个测试类中的多个部署方法,java,jboss-arquillian,shrinkwrap,Java,Jboss Arquillian,Shrinkwrap,我正在尝试使用TestNG和Arquillian测试一个遗留应用程序。由于有一个约束,我需要用@Deployment注释两个不同的方法 方法1(用于仅部署测试代码并针对已在WildFly 10中部署和运行的应用程序运行它) 方法2(用于将整个应用程序与测试代码一起部署到远程WildFly 10服务器) 我的要求是Arquillian应该能够根据一些配置选择这些部署方法中的任何一种。目前,我正在注释不需要运行的部署方法。给定的@Deployment.order没有任何用处,因为所有部署仍将运行,只
@部署
公共静态存档createDynamicDeployment(){
if(){
EnterpriseArchive ear=ShrinkWrap.createFromZipFile(EnterpriseArchive.class,新文件(“some_archive.ear”))
.addAsModule(Testable.archiveToTest(ShrinkWrap.create)(WebArchive.class,“test.war”)
.addClass(SoftCountFacadeTest.class)
.addasWebInfoResource(EmptyAsset.INSTANCE,“beans.xml”);
回耳;
}否则{
WebArchive war=ShrinkWrap.create(WebArchive.class).addClass(Test.class)
.addAsManifestResource(新文件(“jboss deployment structure.xml”))
.addasWebInfoResource(EmptyAsset.INSTANCE,“beans.xml”);
回归战争;
}
}
我试图从ShrinkWarp和Arquillian的功能中找到解决方案。无论如何,这对我来说是可行的。非常感谢:-)
@Deployment
public static WebArchive createDeployment() {
WebArchive war = ShrinkWrap.create(WebArchive.class).addClass(Test.class)
.addAsManifestResource(new File("jboss-deployment-structure.xml"))
.addAsWebInfResource(EmptyAsset.INSTANCE, "beans.xml");
return war;
}
@Deployment
public static EnterpriseArchive createEARDeployment(){
EnterpriseArchive ear = ShrinkWrap.createFromZipFile(EnterpriseArchive.class, new File("some_archive.ear"))
.addAsModule(Testable.archiveToTest(ShrinkWrap.create(WebArchive.class, "test.war")
.addClass(SoftCountFacadeTest.class)
.addAsWebInfResource(EmptyAsset.INSTANCE, "beans.xml")));
return ear;
}
@Deployment
public static Archive<?> createDynamicDeployment() {
if(<ear condition>) {
EnterpriseArchive ear = ShrinkWrap.createFromZipFile(EnterpriseArchive.class, new File("some_archive.ear"))
.addAsModule(Testable.archiveToTest(ShrinkWrap.create(WebArchive.class, "test.war")
.addClass(SoftCountFacadeTest.class)
.addAsWebInfResource(EmptyAsset.INSTANCE, "beans.xml")));
return ear;
} else {
WebArchive war = ShrinkWrap.create(WebArchive.class).addClass(Test.class)
.addAsManifestResource(new File("jboss-deployment-structure.xml"))
.addAsWebInfResource(EmptyAsset.INSTANCE, "beans.xml");
return war;
}
}