2011-07-22 17 views
3

私は、完全JBossサーバー内でArquillianによって実行されるいくつかのJUnitテスト(jboss-remote-6というプロファイル内)私はほとんどマニュアルのようにすべてhttp://docs.jboss.org/arquillian/reference/latest/en-US/html/gettingstarted.htmlでやった。Arquillian/JUnitテストはコンソールから実行されますが、Eclipseでは実行されません。

コンソールでmvn testを実行すると、すべてが正しく実行され、アサーションがチェックされます。

しかし、私は、Eclipse内部のJUnitテストケースを実行しようとすると、それは次の例外で失敗します

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) 
(...) 

私は「はJBossAS-リモート-6」などに正しく、このプロジェクトのためにMavenのプロファイルを設定pom.xmlに記載されています。私は間違って何をしていますか? Googleはこの特定のものについては助けてくれません。

敬具、 セバスチャン

答えて

3

私はこの仕事をするために行った様々なものがあります。私のロールモデルはjboss-javaee6 Mavenアーキタイプで、リモートJBoss 6サーバーのコードをユニットテストするためにArquillianも使用しています。私は、次の手順で行った:

<?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> 

シュリ​​ンクラップWebArchiveの代わりJavaArchive

を追加し、私はSRC /テスト/リソースにArquillian.xmlを追加

arquillian.xml

JavaArchive.classの代わりにreturn Shrinkwrap.create(WebArchive.class, "test.war")を使用すると、addAsWebInfResource()の方法が利用できます。ここで、Ic ouldはemptyを追加しました。beans.xml

CLASSPATHの長さを短くするのpom.xmlを調整

Eclipseは常にのCreateProcessエラー= 87メッセージを与えてjavaw.exeので破りました。これはCLASSPATHがconsoleコマンドでは長すぎるために発生しました。依存関係jboss-as-clientは依存関係のBazillionsを追加したので、これをjboss-as-profileservice-clientに変更し、依存関係が大幅に少なくなりました。

もう一つ重要なことは、Arquillianドキュメントに記載されているように、のsrc /テスト/リソースディレクトリにjndi.propertiesファイルを持つことです。しかし、それは既にここでのケースでした。 arquillian.xmlが違いを作ったと思います。このファイルはドキュメントでは一度も言及されていませんでした。アーキタイプで見ただけです。

これは、リモートのJBossのテストのための私のMavenプロファイルです:

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

私は私の答えは、誰かの役に立つことを願っています。:)

関連する問題