2016-09-29 1 views
0

ich solche Arquillian Test haben:Arquillian: Bereitstellen von Glas und Lauftests dagegen

@Deployment 
public static JavaArchive createDeployment() { 
    return ShrinkWrap.create(JavaArchive.class, "ejb.jar");// ejb.jar is in a resource root 
} 

@EJB 
private DateService dateService; 

@Test 
public void shouldBeAbleToInjectEJB() throws Exception { 
    Assert.assertNotNull(dateService); 
} 

Ich sehe, dass Arquillian Krieg Dekorateur creats und versucht, es zu Server zu implementieren:

19:18:34,773 WARN [org.jboss.weld.deployer] (MSC service thread 1-5) JBAS016012: Deployment deployment "test.war" contains CDI annotations but beans.xml was not found. 
19:18:34,822 INFO [org.jboss.web] (ServerService Thread Pool -- 15) JBAS018210: Register web context: /test 
19:18:35,010 INFO [org.jboss.as.server] (management-handler-thread - 2) JBAS018559: Deployed "test.war" (runtime-name : "test.war") 
19:18:35,590 INFO [org.jboss.web] (ServerService Thread Pool -- 15) JBAS018224: Unregister web context: /test 
19:18:35,617 INFO [org.jboss.as.server.deployment] (MSC service thread 1-8) JBAS015877: Stopped deployment test.war (runtime-name: test.war) in 30ms 

Was falsch ist ? Warum wurde es sofort entlassen?

+0

Es wurde 0.5s später nicht eingesetzt, vielleicht war das genug, um den Test zu führen? Ist es Ihre vollständige Bereitstellungsmethode? In einem solchen Fall sollte dies fehlschlagen. –

Antwort

0

Sie haben dem Jar keine Ressourcen hinzugefügt. Es gibt ejb's hinzugefügt. Ist DateService ein EJB, das Sie erstellt haben und testen möchten? Ist es in dem Projekt, in dem Sie den Test ausführen? Arquillian erfordert, dass Sie dem implementierten Jar die gesamte erforderliche Ressource hinzufügen.

@Deployment 
public static JavaArchive createDeployment() { 
    return ShrinkWrap.create(JavaArchive.class, "ejb.jar").addClass(DateService.class);// ejb.jar is in a resource root 
} 

@EJB 
private DateService dateService; 

@Test 
public void shouldBeAbleToInjectEJB() throws Exception { 
    Assert.assertNotNull(dateService); 
}