2012-07-11 25 views
5

最後に呼び出されたときに失敗したテストのみを実行するmaven 'test'コマンドを呼び出す方法はありますか?失敗したテストのみを実行するMaven 'test'コマンド

+0

テスト出力を永続化して再ロードする必要があるので、私はそうは思わない。また、テストに合格しないクラスを変更すると、以前の失敗だけでなく、関連するすべてのテストを実行する必要があるため、危険です。 –

+0

これはEcilpse、Netbeans、またはIntelliJによって一般的にサポートされているIDEの仕事のようです。 – khmarbaise

答えて

5

surefireプラグインのrunOrderパラメータを使用してみてください。それはあなたがコマンドラインからプロパティを変更することができ${expression}を持っているようには見えませんので、私は自分自身をロールになります。

... POM stuff here.... 
<properties> 
    <!-- plugin's default value for this param --> 
    <surefire.test.runOrder>filesystem</surefire.test.runOrder> 
</properties> 
.... 
<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-surefire-plugin</artifactId> 
    <configuration> 
    <runOrder>${surefire.test.runOrder}</runOrder> 
    </configuration> 
</plugin> 
.... 

次にコマンドラインで希望の設定を選択できます。

mvn -Dsurefire.test.runOrder=failedfirst test(またはpackageなど)。

+0

+1私が今日学んだ新しいもの – Raghuram

+0

これは私には役に立たなかった。私は最初にすべてのテストを行った、彼らはすべて合格した。それから、あなたが提案したコマンドを実行しましたが、その結果、すべてのテストを再度実行したと言いました。 – Glide

+0

通常終了時に実行されるテストの1つを修正して失敗させてください。その後、テストを繰り返します。失敗したものが最初に実行され、次に他のすべてが実行されます。提案された設定は、失敗したテストだけを実行するのではなく、失敗したテストを最初に実行します。テスト実行に失敗したテストは含まれていなかったので、すべてが再度実行されました。 – user944849

関連する問題