Arquillian:无法设置GlassFish Embedded Bootstrap

时间:2014-02-18 09:10:04

标签: java ejb jboss-arquillian

我使用嵌入式Glassfish(3.1.2)使用arquillian(1.1.2 final)创建了一个JPA测试,并在同一个项目中使用EJBContainer进行了测试。 我可以在Eclipse(Kepler)中逐个运行测试(当我在背景上运行Derby时),但是当我尝试使用maven运行测试时

'mvn clean test'

我收到错误:

Could not setup GlassFish Embedded Bootstrap

从surefire日志中我找到了这一行:

Caused by: org.glassfish.embeddable.GlassFishException: Already bootstrapped

现在,如果我注释掉设置EJBContainer的测试,我可以使用maven运行Arquillian测试。

问题是,如何使两个测试类彼此“独立”运行,以便Arquillian不会因为使用EJBContainer创建的嵌入式容器而崩溃?

我已经尝试在创建它的测试类中关闭@AfterClass方法中的EJBContainer。

1 个答案:

答案 0 :(得分:0)

您是否尝试在maven-surefire-plugin配置中创建单独的执行?使用EJBContainer进行测试类的一次执行,使用Glassfish的执行一次。

<plugin>
    <artifactId>maven-surefire-plugin</artifactId>
    <configuration>
        <includes>
            <include>**/ejbcontainer/*TestCase*</include>
        </includes>
    </configuration>
    <executions>
        <execution>
            <id>glassfish</id>
            <goals>
                <goal>test</goal>
            </goals>
            <phase>test</phase>
            <configuration>
                <includes>
                    <include>**/glassfish/*TestCase*</include>
                </includes>
            </configuration>
        </execution>
    </executions>
</plugin>