2016-08-08 18 views
1

ユニットと統合テストを別々のIntelliJ「テストソース」ディレクトリに分けました。単体テストフォルダを右クリックしてそれらのテストを実行しようとすると、統合テストも同様に行われます。IntelliJは1つのディレクトリでTestNGテストを実行します

最終的に私のユニットテストフォルダを右クリックし、そのフォルダの下のテストのみを実行し、統合テストのために同じテストを行うことができます。

IntelliJでこれを行う方法はありますか、これを行うにはtestng.xmlファイルを使用する必要がありますか?ユニットテストと統合テストのための1のための2 test groupsを使用して2実行構成を作成し、約1

+1

に私は、この機能を考えます箱からすぐには入手できませんので、https://youtrack.jetbrains.com/issuesで質問する必要があります – juherr

+0

@JulienHerr - 良いアイデア...私はサブミリを持っています機能要求を受け取った –

答えて

1

方法:

1)両方のカテゴリー

import org.testng.annotations.Test; 

public class CategoryTests { 

    @Test(groups = "unit") 
    public void someUnitTest(){ 

    } 

    @Test(groups = "integration") 
    public void someIntegrationTest(){ 

    } 
} 

2をシミュレートしたいくつかのダミーテストクラスは、 )ユニットテストIJ run config(グループ設定に気付く)

Unit test config

3)統合テストIJの実行設定(再び、グループの設定に注意してください)

Integration test config

4)すべて一つのサンプル

TestNG categories

+0

私はそれを行うことができましたが、その後、すべてのテストをいくつかのグループに追加する必要があります。それが終わると私はそのようにしなければなりませんが、私は(そして他の開発者が)フォルダを右クリックしてその中だけのテストを実行することが非常に有用であると信じています各テストでグループを指定する必要はありません。私はこれがJUnitとIntelliJを使って行うことができると信じていますが、現時点ではTestNGではありません。 –

+0

@ZackMacomberええと、別のパッケージではなく、異なるソースを持っているのはどうですか?そうすれば、実行コンフィギュレーションで 'Group'ではなく' All in package'や 'Pattern'を使うことができます。 2つのソースフォルダを選んだ理由は何ですか? – Morfic

+0

悪い考えではありません...私は、別々のソースフォルダを持つのではなく、パッケージ単位でグループ化するかもしれません... intと単体テストの間を明確に分離したいと思っていて、それらに対応するパッケージ対応する製品パッケージ –