Тесты Arquillian / JUnit запускаются из консоли, но не из Eclipse - PullRequest
3 голосов
/ 22 июля 2011

Я настроил наш проект с помощью нескольких тестов JUnit, которые выполняются Arquillian на полном сервере JBoss (в профиле, называемом jboss-remote-6 ).Я почти все сделал, как в руководстве на http://docs.jboss.org/arquillian/reference/latest/en-US/html/gettingstarted.html.

Если я выполню mvn test в консоли, все будет правильно выполнено и проверки проверены.

Но когдаЯ пытаюсь запустить тестовый пример JUnit в Eclipse, он завершается неудачей со следующим исключением:

org.jboss.arquillian.impl.client.deployment.ValidationException: DeploymentScenario contains targets not maching any defined Container in the registry. _DEFAULT_
    at  org.jboss.arquillian.impl.client.deployment.DeploymentGenerator.validate(DeploymentGenerator.java:95)
    at org.jboss.arquillian.impl.client.deployment.DeploymentGenerator.generateDeployment(DeploymentGenerator.java:77)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at      sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
(...)

Я правильно настроил профиль Maven для этого проекта на «jbossas-remote-6», как указано в pom.xml.Что я делаю неправильно?Google не может помочь в этом.

С уважением, Себастьян

Ответы [ 2 ]

3 голосов
/ 25 июля 2011

Я сделал несколько вещей, чтобы сделать эту работу.Моим примером для подражания был архетип jboss-javaee6 Maven, который также использует Arquillian для модульного тестирования кода на удаленном сервере JBoss 6.Я сделал следующие шаги:

Добавить arquillian.xml

Я добавил Arquillian.xml в src / test / resources:

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

   <container qualifier="jbossas-remote" default="true">
       <property name="httpPort">8080</property>
   </container>   
</arquillian>

Сжатие веб-архива вместо JavaArchive

Использование return Shrinkwrap.create( WebArchive.class, "test.war") вместо JavaArchive.class сделало доступным метод addAsWebInfResource(), где я мог бы добавить пустой сгенерированный beans.xml.

Настройте pom.xml, чтобы уменьшить длину CLASSPATH

Eclipse постоянно разрывался с javaw.exe, выдавая Ошибка CreateProcess = 87 сообщение.Это было вызвано тем, что CLASSPATH слишком длинный для команды консоли.Поскольку зависимость jboss-as-client добавила Bazillions зависимостей, я изменил ее на jboss-as-profileservice-client , которая работает нормально и имеет гораздо меньше зависимостей.

Еще одна важная вещь - иметь файл jndi.properties в каталоге src / test / resources , как указано в документации по Arquillian.Но это уже было здесь.Я думаю, что arquillian.xml имел значение - этот файл никогда не упоминался в документах, просто видел его в архетипе.

Это мой профиль Maven для удаленного тестирования JBoss:

<profile>
  <id>jbossas-remote-6</id>
  <dependencies>
     <dependency>
        <groupId>org.jboss.arquillian.container</groupId>
        <artifactId>arquillian-jbossas-remote-6</artifactId>
        <version>1.0.0.Alpha5</version>            
     </dependency>
    <dependency>
        <groupId>org.jboss.spec</groupId>
        <artifactId>jboss-javaee-6.0</artifactId>
        <version>2.0.0.Final</version>
        <type>pom</type>
        <scope>provided</scope>
    </dependency> 
    <dependency>
        <groupId>org.jboss.jbossas</groupId>
        <artifactId>jboss-as-profileservice-client</artifactId>
        <version>6.0.0.Final</version>
        <type>pom</type>            
    </dependency>
  </dependencies>
<build>
    <testResources>
        <testResource>
            <directory>src/test/resources</directory>
        </testResource>
    </testResources>
</build>

Надеюсь, мой ответ кому-нибудь пригодится.:)

0 голосов
/ 18 апреля 2013

Обратите внимание, что существует также открытая проблема, связанная с выполнением тестов в Eclipse: https://issues.jboss.org/browse/ARQ-1037?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel

...