arquillian testng测试没有启动jboss管理

时间:2014-04-11 14:18:30

标签: jboss7.x testng jboss-arquillian

我的方案是在jboss托管上启动arquillian测试。 实际上我的耳朵已经部署在Jboss上了,所以我没有在ShrinkWrap上放置任何存档。 我的测试在testng上运行。 为了启动Jboss,我提供了一个自定义maven配置文件,如arquillian文档所示:

    <profile>
        <id>arquillian-jbossas-managed</id>
        <dependencies>
            <dependency>
                <groupId>org.jboss.spec</groupId>
                <artifactId>jboss-javaee-web-6.0</artifactId>
                <version>2.0.0.Final</version>
                <type>pom</type>
                <scope>provided</scope>
                <exclusions>
                    <exclusion>
                        <groupId>org.apache.xalan</groupId>
                        <artifactId>xalan</artifactId>
                    </exclusion>
                 </exclusions>
            </dependency>
            <dependency>
                <groupId>org.jboss.as</groupId>
                <artifactId>jboss-as-arquillian-container-managed</artifactId>
                <version>7.1.1.Final</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.jboss.arquillian.protocol</groupId>
                <artifactId>arquillian-protocol-servlet</artifactId>
                <scope>test</scope>
            </dependency>
        </dependencies>           
    </profile>

实际上我的Jboss永远不会开始,而且我无法弄清楚发生了什么。 Maven调试不提供他试图启动老板的事实的任何信息。

Arquillian上的什么触发了服务器的启动? 我可以依赖某种钩子吗?

非常感谢

2 个答案:

答案 0 :(得分:0)

我终于找到了我的错误:

我没有在pom中包含这种依赖:

<dependency>
        <groupId>org.jboss.arquillian.testng</groupId>
        <artifactId>arquillian-testng-container</artifactId>
        <scope>test</scope>
</dependency>

没有它没有异常它抛出但服务器无法启动。 实际上有点棘手......

答案 1 :(得分:0)

对于Arquillian触发器,服务器TestNG-tests类的启动也必须扩展Arquillian。

    @Test(groups = "test")
    public class TestServiceNGTest extends Arquillian {
      @Deployment
      public static WebArchive createDeployment() {
        WebArchive war = ShrinkWrap.create(WebArchive.class).addClass(TestService.class);

          System.out.println(war.toString(true));
      return war;
      }
    // ... tests sources 
    }