【问题标题】:Multiple deployment methods in one test class一个测试类中的多种部署方法
【发布时间】:2016-12-07 09:31:10
【问题描述】:

我正在尝试使用 TestNG 和 Arquillian 测试旧版应用程序。有一个约束,因此我需要使用 @Deployment 注释两种不同的方法。

方法 1(仅部署测试代码并针对已在 WildFly 10 中部署和运行的应用程序运行它)

    @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;
    }

方法 2(用于将整个应用程序连同测试代码一起部署到远程 WildFly 10 服务器)

    @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;
    }

我的要求是 Arquillian 应该能够根据一些配置选择这些部署方法中的任何一种。暂时我正在注释掉不需要运行的部署方法。给定here 的@Deployment.order 没有用,因为所有部署仍将运行,只能控制它们的执行顺序。

非常感谢任何帮助。

【问题讨论】:

    标签: java jboss-arquillian shrinkwrap


    【解决方案1】:

    也许你可以试试(耳朵情况需要自己填写):

    @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;
      }
    }
    

    【讨论】:

    • 我试图从 ShrinkWarp 和 Arquillian 的功能中找到解决方案。无论如何,这将适用于我的情况。非常感谢:-)
    猜你喜欢
    • 1970-01-01
    • 2011-10-17
    • 1970-01-01
    • 2017-11-06
    • 1970-01-01
    • 2014-01-03
    • 1970-01-01
    • 2016-03-28
    • 1970-01-01
    相关资源
    最近更新 更多