2013-09-12 3 views
0

я закончил после урока JPA в http://arquillian.org/guides/testing_java_persistence/, но когда я пытаюсь запустить тест («Выполнить тест на GlassFish» раздел руководства), как JUnit я получить следующие сообщения:конфигурации содержат свойства не поддерживаются

Avvertenza: Конфигурация содержит свойства, не поддерживаемые объектом подложки org.jboss.arquillian.container.weld.ee.embedded_1_1.WeldEEMockConfiguration Неиспользуемые собственности: {resourcesXml = SRC/тест/ресурсы-GlassFish встраиваемый/GlassFish -resources.xml} Поддерживаемые имена свойств: [enableConversationScope]

Здесь вниз GlassFish-resources.xml файла:

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE resources PUBLIC 
    "-//GlassFish.org//DTD GlassFish Application Server 3.1 Resource Definitions//EN" 
    "http://glassfish.org/dtds/glassfish-resources_1_5.dtd"> 
<resources> 
    <jdbc-resource pool-name="ArquillianEmbeddedDerbyPool" 
     jndi-name="jdbc/arquillian"/> 
    <jdbc-connection-pool name="ArquillianEmbeddedDerbyPool" 
     res-type="javax.sql.DataSource" 
     datasource-classname="org.apache.derby.jdbc.EmbeddedDataSource" 
     is-isolation-level-guaranteed="false"> 
     <property name="databaseName" value="target/databases/derby"/> 
     <property name="createDatabase" value="create"/> 
    </jdbc-connection-pool> 
</resources> 

pom.xml

<?xml version="1.0" encoding="UTF-8"?> 
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 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>org.arquillian.example</groupId> 
    <artifactId>arquillian-tutorial</artifactId> 
    <version>1.0-SNAPSHOT</version> 
    <packaging>jar</packaging> 

    <name>arquillian-tutorial</name> 
    <url>http://maven.apache.org</url> 

    <properties> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    </properties> 

    <build> 
    <plugins> 
     <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-compiler-plugin</artifactId> 
     <version>2.3.2</version> 
     <configuration> 
      <source>1.6</source> 
      <target>1.6</target> 
     </configuration> 
     </plugin> 
     <plugin> 
     <artifactId>maven-compiler-plugin</artifactId> 
     <version>2.3.2</version> 
     <configuration> 
      <source>1.6</source> 
      <target>1.6</target> 
     </configuration> 
     </plugin> 
    </plugins> 
    </build> 

    <dependencyManagement> 
    <dependencies> 
     <dependency> 
      <groupId>org.jboss.arquillian</groupId> 
      <artifactId>arquillian-bom</artifactId> 
      <version>1.1.1.Final</version> 
      <scope>import</scope> 
      <type>pom</type> 
     </dependency> 
    </dependencies> 
</dependencyManagement> 

    <dependencies> 
    <dependency> 
     <groupId>junit</groupId> 
     <artifactId>junit</artifactId> 
     <version>4.8.1</version> 
     <scope>test</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.mockito</groupId> 
     <artifactId>mockito-all</artifactId> 
     <version>1.8.5</version> 
     <scope>test</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.hamcrest</groupId> 
     <artifactId>hamcrest-integration</artifactId> 
     <version>1.2.1</version> 
    </dependency> 
    <dependency> 
     <groupId>net.avh4.util</groupId> 
     <artifactId>imagecomparison</artifactId> 
     <version>0.0.2</version> 
     <scope>test</scope> 
    </dependency> 
     <dependency> 
     <groupId>org.jboss.spec</groupId> 
     <artifactId>jboss-javaee-6.0</artifactId> 
     <version>1.0.0.Final</version> 
     <type>pom</type> 
     <scope>provided</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.jboss.arquillian.junit</groupId> 
     <artifactId>arquillian-junit-container</artifactId> 
     <scope>test</scope> 
    </dependency> 
    <!--<dependency> 
     <groupId>org.jboss.arquillian.container</groupId> 
     <artifactId>arquillian-weld-ee-embedded-1.1</artifactId> 
     <version>1.0.0.CR3</version> 
     <scope>test</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.jboss.weld</groupId> 
     <artifactId>weld-core</artifactId> 
     <version>1.1.5.Final</version> 
     <scope>test</scope> 
    </dependency>--> 
    <dependency> 
     <groupId>org.slf4j</groupId> 
     <artifactId>slf4j-simple</artifactId> 
     <version>1.6.4</version> 
     <scope>test</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-jpamodelgen</artifactId> 
     <version>1.2.0.Final</version> 
     <scope>provided</scope> 
    </dependency> 
    </dependencies> 
    <profile> 
     <id>arquillian-glassfish-embedded</id> 
     <activation> 
     <activeByDefault>true</activeByDefault> 
     </activation> 
     <dependencies> 
     <dependency> 
      <groupId>org.jboss.arquillian.container</groupId> 
      <artifactId>arquillian-glassfish-embedded-3.1</artifactId> 
      <version>1.0.0.CR3</version> 
     </dependency> 
     <dependency> 
      <groupId>org.glassfish.main.extras</groupId> 
      <artifactId>glassfish-embedded-web</artifactId> 
      <version>3.1.2</version> 
     </dependency> 
     </dependencies> 
     <build> 
     <testResources> 
      <testResource> 
      <directory>src/test/resources</directory> 
      </testResource> 
      <testResource> 
      <directory>src/test/resources-glassfish-embedded</directory> 
      </testResource> 
     </testResources> 
     <plugins> 
      <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-surefire-plugin</artifactId> 
      <version>2.12</version> 
      <configuration> 
       <systemPropertyVariables> 
       <java.util.logging.config.file> 
        ${project.build.testOutputDirectory}/logging.properties 
       </java.util.logging.config.file> 
       <derby.stream.error.file> 
        ${project.build.directory}/derby.log 
       </derby.stream.error.file> 
       </systemPropertyVariables> 
      </configuration> 
      </plugin> 
     </plugins> 
     </build> 
    </profile> 
</project> 

консоль для Eclipse:

java.lang.RuntimeException: Could not create new instance of class org.jboss.arquillian.test.impl.EventTestRunnerAdaptor 
    at org.jboss.arquillian.test.spi.SecurityActions.newInstance(SecurityActions.java:160) 
    at org.jboss.arquillian.test.spi.SecurityActions.newInstance(SecurityActions.java:111) 
    at org.jboss.arquillian.test.spi.SecurityActions.newInstance(SecurityActions.java:97) 
    at org.jboss.arquillian.test.spi.TestRunnerAdaptorBuilder.build(TestRunnerAdaptorBuilder.java:52) 
    at org.jboss.arquillian.junit.Arquillian.run(Arquillian.java:93) 
    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) 
Caused by: java.lang.reflect.InvocationTargetException 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) 
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 
    at java.lang.reflect.Constructor.newInstance(Constructor.java:526) 
    at org.jboss.arquillian.test.spi.SecurityActions.newInstance(SecurityActions.java:156) 
    ... 10 more 
Caused by: org.jboss.arquillian.container.impl.ContainerCreationException: Could not create Container glassfish-embedded 
    at org.jboss.arquillian.container.impl.LocalContainerRegistry.create(LocalContainerRegistry.java:85) 
    at org.jboss.arquillian.container.impl.client.container.ContainerRegistryCreator.createRegistry(ContainerRegistryCreator.java:76) 
    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.ManagerImpl.bindAndFire(ManagerImpl.java:236) 
    at org.jboss.arquillian.core.impl.InstanceImpl.set(InstanceImpl.java:74) 
    at org.jboss.arquillian.config.impl.extension.ConfigurationRegistrar.loadConfiguration(ConfigurationRegistrar.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.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.ManagerImpl.start(ManagerImpl.java:261) 
    at org.jboss.arquillian.test.impl.EventTestRunnerAdaptor.<init>(EventTestRunnerAdaptor.java:56) 
    ... 15 more 
Caused by: java.lang.IllegalArgumentException: DeployableContainer must be specified 
    at org.jboss.arquillian.core.spi.Validate.notNull(Validate.java:44) 
    at org.jboss.arquillian.container.impl.ContainerImpl.<init>(ContainerImpl.java:71) 
    at org.jboss.arquillian.container.impl.LocalContainerRegistry.create(LocalContainerRegistry.java:76) 
    ... 39 more 

Странно, потому что я буквально следовал за гидом, не внося никаких изменений ...

ответ

1

Ну, идя по проводнику, вы должны ожидать использования контейнера GlassFish. Очевидно, что неправильный контейнер сконфигурирован для использования в ваших тестах, поскольку в журнале отображается Weld как тот, который используется для тестирования.

Вам необходимо убедиться, что адаптер контейнера Arquillian Glassfish присутствует в вашем пути к классу. Кроме того, вам также потребуется убедиться, что контейнер Weld отсутствует. Все это присутствует в this section of the tutorial on preparing the test to use GlassFish.

Обратите внимание на использование arquillian-bom зависимости в dependencyManagement части POM проекта, в дополнение к

  • arquillian-junit-container (для поддержки JUnit в Arquillian),
  • arquillian-glassfish-embedded-3.1 (контейнер адаптер Arquillian GlassFish), и
  • glassfish-embedded-web (embedded GlassFish) зависимости.
+0

Указанные вами зависимости присутствовали в pom.xml, но я не комментировал материал сварщика. Теперь я сделал это, и я редактировал предыдущую запись, добавляя новый pom.xml, но у меня возникают новые проблемы, в частности: java.lang.RuntimeException: Не удалось создать новый экземпляр класса org.jboss.arquillian.test.impl. EventTestRunnerAdaptor –

+0

Могу ли я увидеть всю трассировку стека? Вы можете обновить свой вопрос. –

+0

Хорошо, я добавил сообщения консоли Eclipse –

Смежные вопросы