0

Java で開発したプロジェクトをテストするには、ant を使用する必要があります。ant を正しく動作させることができません。プロジェクトを正しくテストするために必要なファイルのantのパスを設定する方法を完全には理解していません。

どのタイプのファイルが期待されていますか? ソースまたはバイナリ?

このantファイルを使用してテストを実行しています:

<project name="acmetelecom" default="compile">

<property name="src" location="src/acme/com/acmetelecom" />
<property name="src" location="src/acme/com/acmetelecom" />
<property name="fit" location="fit" />
<property name="bin" location="bin" />
<property name="lib" location="lib" />
<property name="report" location="report" />
<property name="junit.report" location="report/junit" />
<property name="fit.report" location="report/fit" />
<path id="lib.classpath">
    <fileset dir="${lib}">
        <include name="**/*.jar" />
    <include name="*" />
    </fileset>
</path>
<path id="test.classpath">
    <path refid="lib.classpath" />
<pathelement location="lib/junit/junit-4.4.jar" />
    <pathelement location="lib/junit/junit-4.4-src.jar" />
    <pathelement location="${bin}" />
</path>

<target name="compile">
    <mkdir dir="${bin}" />
    <javac srcdir="${src}" destdir="${bin}">
        <classpath refid="lib.classpath" />
    </javac>
</target>


<target name="junit" depends="compile">
    <mkdir dir="${junit.report}" />
    <junit printsummary="yes" fork="yes" haltonfailure="no">
        <classpath refid="test.classpath" />
        <formatter type="plain" />
        <batchtest fork="yes" todir="${junit.report}">
            <fileset dir="bin/com/acmetelecom">
                <include name="**/*Test.class" />
            </fileset>
        </batchtest>
    </junit>
</target>
<target name="fit" depends="compile">
    <mkdir dir="${fit.report}" />
    <java classname="fitlibrary.runner.FolderRunner" fork="yes"
            failonerror="yes">
        <classpath refid="test.classpath" />
        <arg value="${fit}" />
        <arg value="${fit.report}" />
    </java>
    <echo>Please see the FIT report page for more details</echo>
</target>
<target name="clean">
    <delete dir="${bin}" />
    <delete dir="${report}" />
</target>
</project>

何が間違っているのかわかりません!テストは、ソース コードと同じディレクトリにあります。

4

2 に答える 2

1

Ant スクリプトのルート ノードはprojectタグです。簡単な から始めることをお勧めします... Javaソースをコンパイルしてからjunitを追加するなど.

于 2012-12-04T20:33:28.990 に答える
0

.class ファイルを ${bin} に書き込んでいます。これを batchtest のファイルセットの引数として指定してみてください。いずれにせよ、packagedirectory パスを指定する必要はありません。* / .class はすべてのディレクトリをチェックします。

  <batchtest fork="yes" todir="${junit.report}">
        <fileset dir="${bin}">
            <include name="**/*Test.class" />
        </fileset>
    </batchtest>
于 2012-12-05T11:23:08.717 に答える