【问题标题】:Has anyone successfully run integration tests with Jboss embedded, Seam and Maven?有没有人用 Jboss Embedded、Seam 和 Maven 成功运行过集成测试?
【发布时间】:2010-11-02 18:46:07
【问题描述】:

一直在尝试使用我的 seam 项目和 Jboss 嵌入式容器进行集成测试,但没有取得多大成功。一直在做大量阅读并一直在尝试this JIRA 中提到的内容,但没有任何运气。

Amy 目前只是试图让 'testproject-master-JBSEAM-2371.zip' 项目工作,但遇到以下异常

ERROR [org.jboss.embedded.DeploymentScanner] Failed to deploy
org.jboss.deployers.spi.DeploymentException: No deployer recognised the structure of vfsfile:/Users/aaron/Development/eclipse_workspaces/workspace_pink/testproject-web/target/test-classes/conf/jboss-service.xml
    at org.jboss.deployers.vfs.plugins.structure.VFSStructuralDeployersImpl.determineStructure(VFSStructuralDeployersImpl.java:219)
    at org.jboss.deployers.structure.spi.helpers.AbstractStructuralDeployers.determineStructure(AbstractStructuralDeployers.java:77)

是否有人在使用 maven 而不是 seam-gen 项目的情况下让 Seam 集成测试正常工作?

【问题讨论】:

  • 我在集成测试阶段添加了一个部署到 jboss 的示例。

标签: unit-testing maven-2 seam embedded-jboss


【解决方案1】:

我放弃了嵌入式 JBoss,转而使用 Maven JBoss Plugin 部署到作为单独进程启动的 JBoss 实例。不理想,但我们的代码和 Maven 存在很多冲突,需要解决。您需要嵌入式版本有什么原因吗?

您应该能够在预集成测试阶段执行类似的操作以部署到 JBoss,以便可以运行集成测试。您仍然必须在 maven 之前启动 jboss。不理想,但这对我有用。

       <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>jboss-maven-plugin</artifactId>
          <executions>
            <execution>
              <phase>pre-integration-test</phase>
              <goals>
                <goal>deploy</goal>
              </goals>
              <configuration>
                    <jbossHome>/opt/JBoss/current</jbossHome>
                    <port>8080</port>
              </configuration>
            </execution>
          </executions>
        </plugin>

【讨论】:

  • 我希望使用嵌入式版本的唯一原因是Seam 参考指南谈到了集成测试。显然,为了测试诸如 DAO 之类的东西的集成,我们需要某种容器来运行测试,而不是专门启动一个容器来运行测试,最好在 maven 运行测试时启动嵌入式容器.这样,它们也可以在自动构建过程中运行。
  • 谢谢,我会试一试,看看效果如何。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-01-09
  • 1970-01-01
  • 2014-03-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多