将JUnit测试作为Ant目标运行

时间:2010-08-16 12:27:34

标签: java ant junit

我在/ build目录中有一个简单的测试用例,我正在尝试使用Ant编译和运行。编译很好,但我无法弄清楚如何运行它。课程是:

package money;

import org.junit.*;
import static org.junit.Assert.*;

public class MoneyTest {

    @Test
    public void testAmount() {
        Money m = new Money(20);
        System.out.println("AMOUNT: " + m.amount());
        System.out.println("DOUBLE AMOUNT: " + m.doubleAmount());
        assertEquals(21, m.amount());
    }

}

,构建文件如下:

<?xml version="1.0"?>
<project name="Money" default="build-source" basedir=".">

    <description>The Money project build file.</description>
    <property name="src" location="."/>
    <property name="build" location="build"/>
    <property name="junit" location="lib/junit-4.8.2.jar"/>

    <path id="_classpath">
        <pathelement path="${junit}"/>
        <pathelement path="${build}"/>
    </path>

    <target name="prepare">
        <mkdir dir="${build}"/>
    </target>

    <target name="build-source" depends="prepare" description="compile the source ">
        <javac srcdir="${src}" destdir="${build}">
            <classpath refid="_classpath"/>
        </javac>
    </target>

    <target name="run" depends="build-source">
        <java classname="${build}/MoneyTest">
            <classpath refid="_classpath"/>
        </java>
    </target>

</project>

当我从终端运行“ant run”时,它说它无法在该路径上找到该类。

事先谢谢!

1 个答案:

答案 0 :(得分:4)

您已将位置指定为类名。该类的名称为money.MoneyTest,而不是/home/build/money/MoneyTest

但是,您应该使用junit task而不是java任务,因为它是JUnit测试而不是Java应用程序本身。 (例如,它没有main方法。)