2012-04-24 3 views
1

通常のテストフェーズでいくつかの統合テストを実行するために、maven pomファイルに様々な単純なプロファイルがあります。通常の統合テストの段階では、これらのテストを実行したくないので、私は戦争を構築してデプロイするなどしたくないので、テストは正常なJUnitテストと同じように動作します。Maven not runningプロファイルで指定されたテスト

<profile> 
    <id>AdminSeltests</id> 
    <build> 
    <plugins> 
    <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-surefire-plugin</artifactId> 
     <version>2.12</version> 

     <configuration> 
      <includes> 
      <include>**/*/TestSellerSignupWizard.java</include> 
      </includes> 
     </configuration> 

     <executions> 
     <execution> 
     <id>execution2</id> 
     <phase>test</phase> 
     </execution> 
     </executions> 
    </plugin> 
    </plugins> 
    </build> 
</profile> 

私のテストが呼び出される:

mvn test -P AdminSeltests 

ませテストが実行されていない:私は上記のプロファイルを実行する場合しかしながら、

com.xxxxx.xxx.client.selenium.seller_signup.TestCustomerSignupWizard 

だからここに私のプロフィールです。私は値として次を試しました:

<include>**/TestSellerSignupWizard.*</include> 
<include>**/TestSeller*.*</include> 
<include>**/TestSeller*.java</include> 
<include>**/*/TestSeller*.java</include> 
<include> 
    com.xxxxx.xxx.client.selenium.seller_signup.TestCustomerSignupWizard.java 
</include> 

これらの作業はありません。

おかげ アダム解決しよう

: 私はmaven-surefire-pluginを使用していますし、これは通常のテストのものを含んでいる自動includesセクションがあります。

<configuration> 
    <excludes> 
     <exclude>**/Test*.java</exclude> 
     <exclude>**/*Test.java</exclude> 
     <exclude>**/*TestCase.java</exclude> 
    </excludes> 
    <includes> 
     <include>**/ITTestSellerSignupWizard.java</include> 
    </includes> 
</configuration> 
:だから私は、私はそれがこのように動作しますが、それがない理由

わからないを実行することを統合テストのパタパタを含めるために、通常のユニットテストを除外するexclude設定を行い、その後、includeセクション

ご協力いただきありがとうございます。

答えて

2

TestCustomerSignupWizardのテスト中にクラスTestSellerSignupWizardを言及しているため、実際にペーストした実際のコードは機能しません。私はそれが本当に問題ではないtypoだと仮定します.Surefireのデフォルトマスクの1つが**/Test*.javaで、この場合あなたに合っているからです。

だから、それはすべて実用的なソリューションのように見えるので、私はあなたのテストクラスパスにこのクラスを持っていないことが問題だと恐れています。あなたはこれが何らかの形で統合テストに関係していると言いました。おそらく、このクラスはにあり、SurefireのMavenのデフォルトであるsrc/test/javaではありません。私が正しければ、このクラスをsrc/test/javaに移動するか、Surefireの代替実行を使用しますが、testSourceDirectoryパラメータをオーバーライドして(link)オーバーライドする必要があります。

+0

あなたはタイプミスについて正しいです。テストはtarget \ test-classes \ com \ *** \ admin \ client \ selenium \ seller_signup \ TestSellerSignupWizard.classにあります。 クラスパス上にあるはずです。私が 'mvn test'を実行すると、すべて正常に動作します。 :-( –

+0

''を ''に移動してみてください。 –