2017-08-16 2 views
-2

Ich bin ein Anfänger in Java EE Ich habe ein kleines Maven-Web-Projekt mit Intellij IDE. der Server der Bereitstellung ist WildFly. Ich möchte Arquillian Junit Test zu einem Class BookRepositoryTest machen. pom.xmlArquillian Junit Test funktioniert nicht

<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
 
<modelVersion>4.0.0</modelVersion> 
 
<groupId>com.pluralsight.bookstore</groupId> 
 
<artifactId>bookstore-back</artifactId> 
 
<version>1.0</version> 
 
<packaging>war</packaging> 
 
<name>bookstore-back</name> 
 
<properties> 
 
<endorsed.dir>${project.build.directory}/endorsed</endorsed.dir> 
 
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
 
<!-- Test --> 
 
<version.junit>4.12</version.junit> 
 
<version.arquillian>1.1.13.5</version.arquillian> 
 
<version.arquillian.wildfly>2.0.2.Final</version.arquillian.wildfly> 
 
<version.shrinkwrap>1.2.6</version.shrinkwrap> 
 
<!-- Plugins --> 
 
<version.surefire.plugin>2.19.1</version.surefire.plugin> 
 
</properties> 
 
<dependencyManagement> 
 
<dependencies> 
 
<dependency> 
 
<groupId>org.arquillian</groupId> 
 
<artifactId>arquillian-universe</artifactId> 
 
<version>${version.arquillian}</version> 
 
<type>pom</type> 
 
<scope>import</scope> 
 
</dependency> 
 
</dependencies> 
 
</dependencyManagement> 
 
<dependencies> 
 
<dependency> 
 
<groupId>javax</groupId> 
 
<artifactId>javaee-web-api</artifactId> 
 
<version>7.0</version> 
 
<scope>provided</scope> 
 
</dependency> 
 
<!-- TEST --> 
 
<dependency> 
 
<groupId>junit</groupId> 
 
<artifactId>junit</artifactId> 
 
<version>${version.junit}</version> 
 
<scope>test</scope> 
 
</dependency> 
 
<dependency> 
 
<groupId>org.arquillian.universe</groupId> 
 
<artifactId>arquillian-junit</artifactId> 
 
<scope>test</scope> 
 
<type>pom</type> 
 
</dependency> 
 
<dependency> 
 
<groupId>org.wildfly.arquillian</groupId> 
 
<artifactId>wildfly-arquillian-container-remote</artifactId> 
 
<version>${version.arquillian.wildfly}</version> 
 
<scope>test</scope> 
 
</dependency> 
 
<dependency> 
 
<groupId>org.jboss.shrinkwrap</groupId> 
 
<artifactId>shrinkwrap-api</artifactId> 
 
<version>${version.shrinkwrap}</version> 
 
<scope>test</scope> 
 
</dependency> 
 
</dependencies> 
 
<build> 
 
<finalName>bookstore-back</finalName> 
 
<plugins> 
 
<plugin> 
 
<artifactId>maven-surefire-plugin</artifactId> 
 
<version>${version.surefire.plugin}</version> 
 
<configuration> 
 
<systemPropertyVariables> 
 
<arquillian.launch>arquillian-wildfly-remote</arquillian.launch> 
 
</systemPropertyVariables> 
 
</configuration> 
 
</plugin> 
 
<plugin> 
 
<groupId>org.apache.maven.plugins</groupId> 
 
<artifactId>maven-compiler-plugin</artifactId> 
 
<version>3.1</version> 
 
<configuration> 
 
<source>1.7</source> 
 
<target>1.7</target> 
 
<compilerArguments> 
 
<endorseddirs>${endorsed.dir}</endorseddirs> 
 
</compilerArguments> 
 
</configuration> 
 
</plugin> 
 
<plugin> 
 
<groupId>org.apache.maven.plugins</groupId> 
 
<artifactId>maven-war-plugin</artifactId> 
 
<version>2.3</version> 
 
<configuration> 
 
<failOnMissingWebXml>false</failOnMissingWebXml> 
 
</configuration> 
 
</plugin> 
 
<plugin> 
 
<groupId>org.apache.maven.plugins</groupId> 
 
<artifactId>maven-dependency-plugin</artifactId> 
 
<version>2.6</version> 
 
<executions> 
 
<execution> 
 
<phase>validate</phase> 
 
<goals> 
 
<goal>copy</goal> 
 
</goals> 
 
<configuration> 
 
<outputDirectory>${endorsed.dir}</outputDirectory> 
 
<silent>true</silent> 
 
<artifactItems> 
 
<artifactItem> 
 
<groupId>javax</groupId> 
 
<artifactId>javaee-endorsed-api</artifactId> 
 
<version>7.0</version> 
 
<type>jar</type> 
 
</artifactItem> 
 
</artifactItems> 
 
</configuration> 
 
</execution> 
 
</executions> 
 
</plugin> 
 
<plugin> 
 
<artifactId>maven-assembly-plugin</artifactId> 
 
<version>3.0.0</version> 
 
<configuration> 
 
<descriptorRefs> 
 
<descriptorRef>src</descriptorRef> 
 
</descriptorRefs> 
 
</configuration> 
 
</plugin> 
 
</plugins> 
 
</build> 
 
</project>
Mein arquillian.xml

<?xml version="1.0" encoding="UTF-8" standalone="no"?> 
 
<arquillian 
 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
 
     xmlns="http://jboss.org/schema/arquillian" 
 
     xsi:schemaLocation="http://jboss.org/schema/arquillian http://jboss.org/schema/arquillian/arquillian_1_0.xsd"> 
 

 
    <container qualifier="arquillian-wildfly-remote"/> 
 

 
</arquillian>

die Fehler löschte java.lang.RuntimeException: Es konnte keine neue Instanz der Klasse erstellen org .jboss.arquillian.test.impl.EventTestRunnerAdaptor

at org.jboss.arquillian.test.spi.SecurityActions.newInstance(SecurityActions.java:166) 
at org.jboss.arquillian.test.spi.SecurityActions.newInstance(SecurityActions.java:103) 
at org.jboss.arquillian.test.spi.TestRunnerAdaptorBuilder.build(TestRunnerAdaptorBuilder.java:52) 
at org.jboss.arquillian.junit.Arquillian.run(Arquillian.java:114) 
at org.junit.runner.JUnitCore.run(JUnitCore.java:137) 
at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68) 
at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47) 
at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242) 
at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70) 

Verursacht durch: java.lang.reflect.InvocationTargetException bei sun.reflect.NativeConstructorAccessorImpl.newInstance0 (Mutter Methode) bei sun.reflect.NativeConstructorAccessorImpl.newInstance (NativeConstructorAccessorImpl.java:62) bei sun.reflect .DelegatingConstructorAccessorImpl.newInstance (DelegatingConstructorAccessorImpl.java:45) bei java.lang.reflect.Constructor.newInstance (Constructor.java:423) bei org.jboss.arquillian.test.spi.SecurityActions.newInstance (SecurityActions.java:162) ... 8 mehr verursacht durch: java.lang.IllegalArgumentException: Kein Container oder eine Gruppe gefunden, die mit dem angegebenen Qualifikationsmerkmal übereinstimmen: arquillian.xm l bei org.jboss.arquillian.container.impl.client.container.ContainerRegistryCreator.createRegistry (ContainerRegistryCreator.java:127) bei sun.reflect.NativeMethodAccessorImpl.invoke0 (native Methode) bei sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62) bei sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) bei java.lang.reflect.Method.invoke (Method.java:498) bei org.jboss.arquillian.core. impl.ObserverImpl.invoke (ObserverImpl.java:96) bei org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers (EventContextImpl.java:103) bei org.jboss.arquillian.core.impl.EventContextImpl.proceed (EventContextImpl.java:85) bei org.jboss.arquillian.core.i mpl.ManagerImpl.fire (ManagerImpl.java:143) bei org.jboss.arquillian.core.impl.ManagerImpl.fire (ManagerImpl.java:114) bei org.jboss.arquillian.core.impl.ManagerImpl.bindAndFire (ManagerImpl.java:263) bei org.jboss.arquillian.core.impl.InstanceImpl.set (InstanceImpl.java:74) bei org.jboss.arquillian.config.impl.extension.ConfigurationRegistrar.loadConfiguration (ConfigurationRegistrar.java: 73) bei sun.reflect.NativeMethodAccessorImpl.invoke0 (native Methode) bei sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62) bei sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) bei Java .lang.reflect.Method.invoke (Methode.java:498) bei org.jboss.arquillian.core.i mpl.ObserverImpl.invoke (ObserverImpl.java:96) bei org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers (EventContextImpl.java:103) bei org.jboss.arquillian.core.impl.EventContextImpl.proceed (EventContextImpl.java:85) bei org.jboss.arquillian.core.impl.ManagerImpl.fire (ManagerImpl.java:143) bei org.jboss.arquillian.core.impl.ManagerImpl.fire (ManagerImpl.java:114) bei org.jboss.arquillian.core.impl.ManagerImpl.start (ManagerImpl.java:. 288) bei org.jboss.arquillian.test.impl.EventTestRunnerAdaptor (EventTestRunnerAdaptor.java:63) ... 13 weiteren

-Test ignoriert.

Prozess mit Exit-Code beendet -1

+1

Wie konfigurierst und startest du WildFly vor dem Test? Sie verwenden den Remote-Container-Adapter, so dass der Server im Voraus ausgeführt werden muss. Wenn Sie möchten, dass sich Arquillian um die Verwaltung Ihres Server-Lebenszyklus kümmert, verwenden Sie den verwalteten Adapter. Werfen Sie auch einen Blick auf Arquillian Chameleon Projekt - vereinfacht die Konfiguration für App-Server erheblich. –

Antwort

0

i mein Problem behoben war es der Name der Qualifikation in der falschen Konfiguration. habe ich Konfiguration bearbeiten Arquillian Junit im Arquillian Umfang konfigurieren Container und i put "Arquillian-Wildfly-remote" dies ist der Name der Qualifikationsspiel (in der Arquillian.xml Datei) Danke :)