1

テストを実行するために、maven と Surefire プラグインを使用しています。いくつかの異なるテストがあり、すべて実行するために同じPOMを使用しています。現在、すべて正常に動作していますが、テスト ケースのエントリを取得するための 2 つの異なるプロパティ ファイルがあるため、これら 2 つの異なるプロパティに対してこれらすべてのテスト ケースを 1 つずつ実行したいと考えています。つまり、2つの異なるテストスイートを使用したいので、関連するPOMをどのように管理できますか?? どんな助けでも大歓迎です.. !!!

使用 - JDK 1.6 および Maven 3.1

4

2 に答える 2

1

2 つの Maven ビルドを次々に開始できる場合は、次のようなことを試してください。

                         <execution>
                            <id>integration-test</id>
                            <phase>integration-test</phase>
                            <goals>
                                <goal>integration-test</goal>
                                <goal>verify</goal>
                            </goals>
                            <configuration>
                                <excludes>
                                       <exclude>**/test/**${dontUse}.properties</exclude>
                                </excludes>
                                <includes>
                                    <include>**/test/**${use}.properties</include>
                                </includes>
                            </configuration>
                        </execution>

dontUse を渡し、パラメーターとして maven に使用します。または、2 つのプロファイルを定義することもできます (1 つは最初のプロファイルを含み、もう 1 つは他のプロパティ ファイルを含む)。その後、これら 2 つのプロファイルを使用してビルドを開始します。編集:ファイルが存在するかどうかを確認する単一のクラスでプロパティファイルをロードします。1番目または2番目のいずれかです。そんな感じ:

public Properties load() {
    Properties prop = new Properties();
    try {
        InputStream in;
        in = getClass().getResourceAsStream("first.properties");
        if (in == null)
            in = getClass().getResourceAsStream("second.properties");
        prop.load(in);
        in.close();
        return prop;
    } catch (Exception e) {
        e.printStackTrace();
    }
    return prop;
}

于 2013-04-12T12:02:41.953 に答える