Arquillian托管容器:未检测到服务器

时间:2015-05-27 16:02:19

标签: jboss7.x jboss-arquillian

所以我"安装" Arquillian在我的jboss项目中。我用过托管容器。启动我的测试类时,服务器正在启动。我确定将超时时间增加到120秒而不是60秒。问题是,一旦服务器启动(我可以在Web应用程序中导航),测试永远不会启动...

在JUnit选项卡上没有任何事情发生,直到120秒结束,然后我得到一个超时,好像没有检测到启动的服务器。

发生此错误后,服务器将关闭,因此必须有正确的链接?

有没有人有同样的错误?

由于

CODE: 这是arquilian.xml中的容器

 <container qualifier="jbossas-managed" default="true">
   <configuration>
        <property name="jbossHome">C:\Developpement\jboss-as-7.1.3.Final</property>
        <property name="startupTimeoutInSeconds">120</property>
        <property name="javaVmArguments">-server -Xms64m -Xmx6g -XX:MaxPermSize=1024m -Dorg.jboss.as.logging.per-deployment=false -Djava.util.Arrays.useLegacyMergeSort=true -Xrunjdwp:transport=dt_socket,address=8180,server=y,suspend=y</property>
        <property name="managementPort">8180</property>
        <property name="allowConnectingToRunningServer">true</property>
    </configuration>

我在我的pom文件中使用它:

<dependency>
        <groupId>org.jboss.as</groupId>
        <artifactId>jboss-as-arquillian-container-managed</artifactId>
        <version>7.1.3.Final</version>
        <exclusions>
            <exclusion>
                <groupId>google-collections</groupId>
                <artifactId>google-collections</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>org.jboss.logmanager</groupId>
        <artifactId>jboss-logmanager</artifactId>
        <version>1.2.1.GA</version>
    </dependency>
<dependency>
        <groupId>org.jboss.arquillian.junit</groupId>
        <artifactId>arquillian-junit-container</artifactId>
        <version>1.0.4.Final</version>
    </dependency>

这是我的测试文件:

@RunWith(Arquillian.class)
public class BasculeTest {

private static final int COMPLETE = 0;
private static final int MONTH_INCREMENTATION = 1;
private static final int BASCULE = 2;
private static final int YEAR_INCREMENTATION = 3;

//      @Inject CompteursCongesUpdate compteursCongesUpdate;

    @Deployment
    public static Archive<?> createTestArchive() {
        WebArchive war = ShrinkWrap.create(WebArchive.class, "test.war").addClass(CompteursCongesUpdate.class)
                .addAsWebInfResource("test-persistence.xml", "classes/META-INF/persistence.xml")
                .addAsWebInfResource(EmptyAsset.INSTANCE, "beans.xml");
        return war;
    }

@Test
public void testBascule() {
    System.out.println("------------------------------- Début TEST -------------------------------");
            try {   
//                  compteursCongesUpdate.updateCompteursConges(new Date(), MONTH_INCREMENTATION);
//                  System.out.println("test +" +compteursCongesUpdate);
                System.out.println("--------");
            } catch (Exception e) {
                e.printStackTrace();
                Assert.fail("Une exception a ete levee");
            }
    Assert.fail("Not yet implemented");
   }
}

我现在能做的是正常启动服务器(不用junit执行测试类),然后在服务器运行后执行测试类。然后我从log4j中得到一个新错误:nosuchfielderror:NO_FORMAT

java.lang.NoSuchFieldError: NO_FORMAT
at org.apache.log4j.spi.LoggingEvent.<init>(LoggingEvent.java:106)
at org.apache.log4j.Category.forcedLog(Category.java:118)
at org.apache.log4j.Category.log(Category.java:288)
at org.jboss.logging.Log4jLogger.doLogf(Log4jLogger.java:48)
at org.jboss.logging.Logger.debugf(Logger.java:565)
at org.jboss.as.arquillian.protocol.jmx.JMXProtocolPackager.generateArquillianServiceArchive(JMXProtocolPackager.java:112)
at org.jboss.as.arquillian.protocol.jmx.JMXProtocolPackager.generateDeployment(JMXProtocolPackager.java:101)
at org.jboss.arquillian.container.test.impl.client.deployment.DeploymentGenerator.buildTestableDeployments(DeploymentGenerator.java:193)
at org.jboss.arquillian.container.test.impl.client.deployment.DeploymentGenerator.createTestableDeployments(DeploymentGenerator.java:148)
at org.jboss.arquillian.container.test.impl.client.deployment.DeploymentGenerator.generateDeployment(DeploymentGenerator.java:85)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99)
at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81)
at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:135)
at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:115)
at org.jboss.arquillian.core.impl.EventImpl.fire(EventImpl.java:67)
at org.jboss.arquillian.container.test.impl.client.ContainerEventController.execute(ContainerEventController.java:100)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99)
at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81)
at org.jboss.arquillian.test.impl.TestContextHandler.createSuiteContext(TestContextHandler.java:60)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
at org.jboss.arquillian.test.impl.TestContextHandler.createClassContext(TestContextHandler.java:75)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:135)
at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:115)
at org.jboss.arquillian.test.impl.EventTestRunnerAdaptor.beforeClass(EventTestRunnerAdaptor.java:80)
at org.jboss.arquillian.junit.Arquillian$2.evaluate(Arquillian.java:182)
at org.jboss.arquillian.junit.Arquillian.multiExecute(Arquillian.java:314)
at org.jboss.arquillian.junit.Arquillian.access$100(Arquillian.java:46)
at org.jboss.arquillian.junit.Arquillian$3.evaluate(Arquillian.java:199)
at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
at org.jboss.arquillian.junit.Arquillian.run(Arquillian.java:147)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)

0 个答案:

没有答案