2017-02-13 17 views
0

私は2つのテストスイートにA.xmlとB.xmlと言います。 ここにその1つの例があります。Maven surefireプラグインがtestsuiteを2回以上トリガーします

<!-- URL Details --> 
<parameter name="applicationHostname" value="localhost" /> 
<parameter name="applicationProtocol" value="http" /> 
<parameter name="applicationPort" value="8080" /> 

<parameter name="testDelay" value="0" /> 

<test verbose="2" name="TestSuiteA" annotations="JDK" 
    preserve-order="true"> 
    <parameter name="testDataSource" value="Data.json" /> 
    <classes> 
     <class name="package.SuiteConfiguration" /> 
     <class 
      name="package.functionalTestAppStart.AppStarter" /> 
    </classes> 
</test> 

ここ

AppStarterがトリガされますspringbootアプリです。

ここでここでのpom.xml

<plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-failsafe-plugin</artifactId> 
      <version>2.19.1</version> 
       <executions> 
        <execution> 
        <id>IT</id> 
         <phase>test</phase> 
         <goals> 
          <goal>integration-test</goal> 
         </goals> 
         <configuration> 
       <skip>false</skip> 
        <suiteXmlFiles> 
           <suiteXmlFile>src/test/resources/suites/FT_TEST_SUITE.xml</suiteXmlFile> 
        </suiteXmlFiles> 
       </configuration> 
       </execution> 
        <execution> 
        <id>verify</id> 
         <phase>verify</phase> 
         <goals> 
          <goal>verify</goal> 
         </goals> 
       </execution> 
       </executions> 
     </plugin> 

の私の対応するスニペット FT_TEST_SUITE.xmlはちょうど、他の2つのテスト・スイートをトリガーする親テストスイートでいます。

<suite-files> 
     <suite-file path="TESTSUITE_A.xml" /> 
     <suite-file path="TESTSUITE_B.xml" /> 
    </suite-files> 

私がmavenプロジェクト "mvn clean install"をビルドすると、testsuitesは3回トリガされます。この問題を解決するには? ありがとう!

+0

なぜスイートファイルを使用しますか?なぜ命名規則を使用せず、フェールセーフプラグインにその作業をさせてください。 – khmarbaise

+0

@khmarbaise私の使用例では、テストクラスに寄与する複数のファイルとテストデータの入力が必要です。 –

答えて

0

を私は変更の少しとソリューションを見つけました。 failsafe_version2.13に変更し、フェーズ integration-testに変更しました。 ここに私の更新されたPOM.xmlスニペットがあります。

<plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-failsafe-plugin</artifactId> 
      <version>2.13</version> 
       <executions> 
        <execution> 
        <id>IT</id> 
         <phase>integration-test</phase> 
         <goals> 
          <goal>integration-test</goal> 
         </goals> 
       <configuration> 
      <suiteXmlFiles> 
     <suiteXmlFile>src/test/resources/suites/FT_TEST_SUITE.xml</suiteXmlFile> 
      </suiteXmlFiles> 
      </configuration> 
       </execution> 
        <execution> 
        <id>verify</id> 
         <phase>verify</phase> 
         <goals> 
          <goal>verify</goal> 
         </goals> 
       </execution> 
       </executions> 
     </plugin> 

ご返信ありがとうございます。

0
(春ブーツの新しいバージョンがすでに、このようなデフォルト設定を定義するために)依存関係の設定に構成セクションを移動し、すべての死刑執行を削除

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-failsafe-plugin</artifactId> 
    <version>2.19.1</version> 
    <configuration> 
     <suiteXmlFiles> 
      <suiteXmlFile>src/test/resources/suites/FT_TEST_SUITE.xml</suiteXmlFile> 
     </suiteXmlFiles> 
    </configuration> 
</plugin> 
+0

私はこれを最初に試していました。テストスイートはまったく起動しませんでした。ちょうどビルドが成功した。 –

関連する問題