Java 一个测试类中的多个部署方法

Java 一个测试类中的多个部署方法,java,jboss-arquillian,shrinkwrap,Java,Jboss Arquillian,Shrinkwrap,我正在尝试使用TestNG和Arquillian测试一个遗留应用程序。由于有一个约束,我需要用@Deployment注释两个不同的方法 方法1(用于仅部署测试代码并针对已在WildFly 10中部署和运行的应用程序运行它) 方法2(用于将整个应用程序与测试代码一起部署到远程WildFly 10服务器) 我的要求是Arquillian应该能够根据一些配置选择这些部署方法中的任何一种。目前,我正在注释不需要运行的部署方法。给定的@Deployment.order没有任何用处,因为所有部署仍将运行,只

我正在尝试使用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;
  }
}