2016-12-06 15 views
1

私は統合テストにarquillianを使用しているwildflyコンテナを使用しています。 場合によっては、JMSを使用し、スタンドアロンのfull.xmlをいくつかのカスタムコンフィグレーションとともにサーバ開始時にロードしたいとします。 私のintテストでは、このstandalone-full.xmlをsrc/test/resourcesに入れてロードします。arquillianを使用してカスタムスタンドアロンのfull.xmlを使用する

どうすればいいですか?

デフォルトのjbossファイルで、上書きされたstandalone-full.xmlファイルではないため、次の行を挿入することはできません。

<property name="serverConfig">standalone-full.xml</property> 

ファイルパス(リソース内)を指定すると機能しません。

 <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-surefire-plugin</artifactId> 
      <version>2.19.1</version> 
      <configuration> 
       <reuseForks>true</reuseForks> 
       <systemPropertyVariables> 
        <server.standalone.config.path>${project.basedir}/src/test/resources/standalone-full.xml</server.standalone.config.path> 
       </systemPropertyVariables> 
       <redirectTestOutputToFile>false</redirectTestOutputToFile> 
      </configuration> 
     </plugin> 

を、私はこれを持ってarquillian.xmlに

<property name="serverConfig">${server.standalone.config.path}</property> 

をそれを使用する:私はこのような確実な-プラグインmavenの変数を置く

<property name="serverConfig">src/test/resources/standalone-full.xml</property> 

<property name="serverConfig">/src/test/resources/standalone-full.xml</property> 

<property name="serverConfig">${project.basedir}/src/test/resources/standalone-full.xml</property> 

[EDIT]

エラー:

java.lang.IllegalStateException: WFLYCTL0214: Could not get main file: 
D:\my_project_path\int-tests/src/test/resources/standalone-full.xml. Specified 
files must be relative to the configuration dir: D:\wildfly_path\wildfly- 
10.1.0.Final\standalone\configuration 

答えて

1

最後に、複数のモジュールがあるため、別の方法を使用しました... ビルドプロセスは3つの部分に分かれています。

  1. <plugin> 
        <artifactId>maven-dependency-plugin</artifactId> 
        [...] 
        <artifactItem> 
         <groupId>org.wildfly</groupId> 
        </artifactItem> 
    [...] 
    <execution> 
        <id>stop-test-server</id> 
        <phase>post-integration-test</phase> 
        <goals> 
         <goal>go-offline</goal> 
        </goals> 
    </execution> 
    [...] 
    
  2. JBOSS_HOMEとスタンドアロン・full.xml

    <plugin> 
        <groupId>org.apache.maven.plugins</groupId> 
        <artifactId>maven-surefire-plugin</artifactId> 
        <version>2.19.1</version> 
        <configuration> 
         <!-- Fork every test because it will launch a separate AS instance --> 
         <reuseForks>true</reuseForks> 
         <systemPropertyVariables> 
          <!-- the maven dependency plugin will have already downloaded the server on /target --> 
          <jboss.home>${project.build.directory}/${wildfly.test.embedded.folder}</jboss.home> 
          <server-config>standalone-full.xml</server-config> 
         </systemPropertyVariables> 
         <redirectTestOutputToFile>false</redirectTestOutputToFile> 
        </configuration> 
    </plugin> 
    
  3. リソースをコピーwildflyコンテナの展開(jms.rarとカスタムスタンドアロン-full.xml

    <plugin> 
        <artifactId>maven-resources-plugin</artifactId> 
        <version>2.7</version> 
        <executions> 
         <execution> 
          <id>copy-configuration-resource</id> 
          <phase>process-test-resources</phase> 
          <goals> 
           <goal>copy-resources</goal> 
          </goals> 
          <configuration> 
           <outputDirectory>${project.build.directory}/${wildfly.test.embedded.folder}/standalone/configuration</outputDirectory> 
           <resources> 
            <resource> 
             <directory>${project.basedir}/src/test/wildfly-resources/configuration</directory> 
              <includes> 
               <include>*.xml</include> 
               <include>*.properties</include> 
              </includes> 
             </resource> 
            </resources> 
           </configuration> 
          </execution> 
          <execution> 
           <id>copy-deployment-resource</id> 
           <phase>process-test-resources</phase> 
           <goals> 
            <goal>copy-resources</goal> 
           </goals> 
           <configuration> 
            <outputDirectory>${project.build.directory}/${wildfly.test.embedded.folder}/standalone/deployments</outputDirectory> 
            <resources> 
             <resource> 
              <directory>${project.basedir}/src/test/wildfly-resources/deployments</directory> 
             <includes> 
              <include>wmq.jmsra.rar</include> 
             </includes> 
            </resource> 
           </resources> 
          </configuration> 
         </execution> 
        </executions> 
    </plugin> 
    

およびアルキリアンである。XML:

<container qualifier="arquillian-wildfly-managed" default="true" mode="suite"> 
    <configuration> 
     <property name="serverConfig">standalone-full.xml</property> 
    </configuration> 
</container> 

それはそう

2

私たちは、次のコンフィギュレーションを使用します。

  • application-roles.properties
  • アプリケーション・ユーザー:私たちは持っているのsrc /テスト/リソース-wildfly-組み込み/設定内

    <build> 
        <testResources> 
         <testResource> 
          <directory>src/test/resources</directory> 
         </testResource> 
         <testResource> 
          <directory>src/test/resources-wildfly-embedded</directory> 
         </testResource> 
        </testResources> 
        <plugins> 
         <plugin> 
          <groupId>org.apache.maven.plugins</groupId> 
          <artifactId>maven-surefire-plugin</artifactId> 
          <version>${version.surefire}</version> 
          <configuration> 
           <systemPropertyVariables> 
            <java.util.logging.manager>org.jboss.logmanager.LogManager</java.util.logging.manager> 
            <!-- the maven dependency plugin will have already downloaded the server on /target --> 
            <jboss.home>${dir.wildfly.home}</jboss.home> 
            <module.path>${dir.wildfly.modules}</module.path> 
            <!-- Do not use ./test/resources-wildfly/configuration because jboss will write to the 
            config directory and we don't want these files to change --> 
            <jboss.server.config.dir>${project.build.directory}/test-classes/configuration</jboss.server.config.dir> 
            <org.apache.deltaspike.ProjectStage>UnitTest</org.apache.deltaspike.ProjectStage> 
            <server-config>standalone.xml</server-config> 
           </systemPropertyVariables> 
    
           <redirectTestOutputToFile>false</redirectTestOutputToFile> 
          </configuration> 
         </plugin> 
    
        </plugins> 
    </build> 
    

    を。特性

  • logging.properties
  • mgmt-users.properties
  • 起動が動作するためにあなたはすべてのこれらのファイルを必要とするようだが、設定の残りの部分とは別のディレクトリにstandalone.xmlを入れる方法はありません
  • mgmt-groups.properties
  • standalone.xml

+0

...正常に動作しますが、私は複数のモジュールを持っており、それが動作しませ...しかし、あなたの答えは私が解決策を見つけることが許さ – slim

関連する問題