0

ITEM_ROOTDIR.tests という名前のシステム プロパティがあります。値は abc,xyz です。ANT ベースのタスクで、src フォルダー内の abc.java と xyz.java を見つけるにはどうすればよいですか? (src フォルダーは basedir にあり、basedir は "." に宣言されています) ファイルを見つけたら、これらの複数のファイルを include タスクで使用できますか? そうでない場合、それらを含める方法は?

ファイルを見つけて結果を ITEM_ROOTDIR.tests. に保存し、インクルード タスクでプロパティを再度使用することをお勧めします。

4

1 に答える 1

0

個別にテストを実行して、自分で作品を作成しているようです。

これは私の標準的なテストターゲットです。

<target name="test" depends="compile" description="Run unit tests">
    <mkdir dir="${build.dir}/tests"/>

    <junit printsummary="yes" haltonfailure="${junit.haltonfailure}">
        <classpath>
            <path refid="runtime.path"/>
            <pathelement path="${classes.dir}"/>
        </classpath>
        <formatter type="plain"/>
        <batchtest fork="yes" todir="${build.dir}/tests">
            <fileset dir="${src.dir}" includes="**/*Test*.java"/>
        </batchtest>
    </junit>
</target>

「src」ディレクトリでテストを実行し、すべてのテストの統合レポートを生成します。

アップデート

テストの実行に時間がかかりすぎることは、非常に一般的な問題です。標準的な答えは、テストをリファクタリングして、テストを高速化することです..... :-(

意見はさまざまですが、私の経験では、テストをさまざまなカテゴリに分類するのが最善の解決策です。

  • ユニットテスト(モックされているので、高速に実行され、すべての機能をカバーする必要があります)
  • 高速統合テスト
  • 遅い統合テスト。

ビルドの一部として単体テストを実行し、個別のJenkinsジョブ(デプロイ後)として統合テストを実行します。これにより、即時のフィードバックの必要性に対処し、個々のテストを追跡するように強制するのではなく、テストレポートを3つのカテゴリに分割します。

個々のテストに対するもう1つの論拠は、大規模なチームでは、変更がコードベースの他の部分に与える影響が見られないということです。結局のところ、それはチームの努力です:-)

于 2013-02-11T18:58:38.937 に答える