0

どの単体テストを実行するかをコマンド ラインで定義したいと考えています。テストは、Java パッケージに基づく論理構造で定義されます。コマンドラインから、テストの実行にどの Java パッケージを含めるか (つまり、どのテストを含めるか) を定義したいと考えています。

このようにして、トークン化されたパス値のリストをループし、これらのパスから Java テストを含めたいと考えています。ただし、batchtest 要素はネストされた for ループをサポートしていません。これを変更して、やりたいことを実行するにはどうすればよいですか? したがって、インクルードの量は、定義されたパス値と同じ数です。

更新しました:

次のようにターゲットを定義しました。

<target name="test">
    <property name="path" value="**"/>
    <junit fork="yes" failureproperty="true" forkmode="once">
            <formatter type="xml" />
            <classpath>
                <pathelement path="bin.path"/> 
            </classpath>

            <batchtest haltonerror="false" todir="${test.dir}"> 
                <fileset dir="/src/test/">
                    <for list="${path}" param="path">
                        <sequential>
                            <var name="path" value="@{path}"/>                      
                            <include name="**/${path}/**/*.java" />
                        </sequential>
                    </for>
                </fileset>
            </batchtest>
        </junit>
4

1 に答える 1

0

正規表現を使用できます。

例えば;

<batchtest haltonfailure="yes" todir="/test">
        <fileset dir="/build/classes/"
                includes="**/TestBlaBla.class" excludes="**/BlaBla.class" />
</batchtest>

お役に立てば幸いです。

于 2012-11-19T11:53:38.907 に答える