2016-05-04 10 views
0

ビルドjarの上で私のJunitを実行したいが、テスト段階のパッケージ段階の前にクラスファイルで実行されるmaven surefireプラグインは、プロジェクトのjarファイルをビルドした後にすべてのjunitを実行する方法がある。 ビルドjarで実行する理由は、jarの難読化を検証することです。mavenのパッケージフェーズ後にJunitテストケースを実行するにはどうすればよいですか?

答えて

2

解決策は、統合テストフェーズのmaven-failsafe-pluginを使用することです。あなたは、あなたのpomファイルにこのする必要があります:

<project> 
    [...] 
    <build> 
    <plugins> 
     <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-failsafe-plugin</artifactId> 
     <version>2.19.1</version> 
     <executions> 
      <execution> 
      <goals> 
       <goal>integration-test</goal> 
       <goal>verify</goal> 
      </goals> 
      </execution> 
     </executions> 
     </plugin> 
    </plugins> 
    </build> 
    [...] 
</project> 

あなたはconventionsに従い、統合テストの命名規則に従ってください:

その後
<includes> 
<include>**/IT*.java</include> 
<include>**/*IT.java</include> 
<include>**/*ITCase.java</include> 
</includes> 

あなたが経由して、それらの統合テストを実行することができます。

mvn clean verify 

実行したい場合only unit tests

mvn clean test 
+0

khmarbaise ansのおかげで、私は2つの懸念を抱いています.1テストケースを実行している間にプロジェクトが難読化されていることをどのように知ることができましたか? 2 - どのようにsurefireプラグインをバイパスできますか? – Afgan

+0

正しい瓶を取ることはそれらの統合テストの仕事です。テストをスキップするには、 'mvn -DskipTests = true'を実行してください... – khmarbaise

+0

ありがとうございますkhmarbaiseは働いています。 – Afgan

0

2つのテスト段階がありますが、1つは単体テスト、もう1つは統合テストです。だから、あなたが望むならば、あなたは統合テスト段階でそれを実行すべきです。

関連する問題