2

ユニットまたは統合として(groups = "unit")アノテーションでグループ化され、次のMaven構成を使用して実行されるTestNGテストがあります。

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.7.2</version>
            <configuration>
                <groups>${test.group}</groups>
                <includes>
                    <include>**/*Test.java</include>
                    <include>**/Test*.java</include>
                    <include>**/When*.java</include>
                </includes>
                <argLine>${test.args.unit} -Xmx1024m</argLine>
            </configuration>
        </plugin>

アノテーションではなくディレクトリ構造でテストグループを分離し、ユニットテストをunitというディレクトリの下に配置したいと思います。

たとえば、ユニットテストは次の場所にあります:src / test / java / foo / FooTests/MyFoo.javaこれをsrc/test / java / foo / unit / FooTests/MyFoo.javaに移動します。次に、単体テスト用にユニットサブディレクトリの下にあるJavaファイルを取得するようにMaven構成を変更します。

次のインクルードを使用するようにプラグイン構成を変更して、これを試してみました。

            <groups>${test.group}</groups>
            <includes>
                <include>**/unit/**/*Test.java</include>
                <include>**/unit/**/Test*.java</include>
                <include>**/unit/**/When*.java</include>
            </includes>

しかし、それはうまくいかないようです。何か案は?

4

2 に答える 2

0

最初に、より最新のmaven-surefire-plugin (2.12.4) を使用する必要があります。さらに、インクルードを使用しないでください。maven-surefire-plugin には単体テストのデフォルトがあるためです。統合テストがある場合は、maven-failsafe-pluginを使用して適切な名前を付けてください。TestNG を組み合わせて使用​​すると、統合テストのように聞こえます。

于 2012-12-20T18:56:20.847 に答える
0

単体テストに「*Test」、統合テストに「*IT」などの名前を付けると、プラグインは適切なテストを選択します。

于 2012-12-20T19:23:26.243 に答える