2009-06-14 7 views
6

Ich habe versucht, Integrationstests mit meinem Nahtprojekt und dem eingebetteten JBoss-Container zu bekommen, aber ich habe nicht viel Erfolg. Ich habe viel gelesen und habe versucht, was in this JIRA erwähnt wird, aber ich habe kein Glück.Hat jemand erfolgreich Integrationstests mit JBoss Embedded, Seam und Maven ausgeführt?

Amy versucht derzeit nur die ‚testproject-master-JBSEAM-2371.zip‘ Projekt zum Laufen zu bringen, aber ich erhalte die folgende Ausnahme

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) 

Hat OneOne kein Glück hatte die Nahtintegrationstests mit immer arbeiten mit Maven und kein Naht-Gen-Projekt?

+0

Ich habe ein Beispiel für die Bereitstellung von jboss während der Integrationstestphase hinzugefügt. – sal

Antwort

5

Ich gab den eingebetteten JBoss auf und wechselte mit der Verwendung der Maven JBoss Plugin zur Bereitstellung an einer JBoss-Instanz, die als separater Prozess gestartet wurde. Nicht ideal, aber es gab zu viele Konflikte mit unserem Code und Maven, um herumzukommen. Gibt es einen Grund, warum Sie die Embedded-Version benötigen?

Sie sollten in der Lage sein, in der Testphase vor der Integration so etwas wie JBoss zu implementieren, damit der Integrationstest erfolgreich ausgeführt werden kann. Sie müssten jboss noch vor maven starten. Nicht ideal, aber das funktioniert für mich.

 <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> 
+0

Der einzige Grund, warum ich die Embedded-Version verwenden wollte, ist, dass das Seam-Referenzhandbuch über Integrationstests spricht. Um die Integration von Dingen wie DAOs zu testen, benötigen wir offensichtlich einen Container, in dem die Tests ausgeführt werden können. Anstatt einen Container speziell für Tests zu starten, wäre es gut, wenn der eingebettete Container gestartet wird . Auf diese Weise können sie auch während eines automatisierten Build-Prozesses ausgeführt werden. –

+0

Danke dood Ich werde es einen Riss geben und sehen, wie es geht. –

Verwandte Themen