2010-08-16 9 views
1

Ant를 사용하여 컴파일하고 실행하려고하는/build 디렉토리에 간단한 테스트 케이스가 있습니다. 편집은 괜찮지 만이를 실행하는 방법을 알 수는 없습니다. 클래스는 다음과 같습니다Ant 타겟으로 JUnit 테스트 실행

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> 

는, 그것이 해당 경로에서 클래스를 찾을 수 있다고 말한다.

미리 감사드립니다.

답변

4

위치는이며 입니다. 클래스 이름은 이 아닌 money.MoneyTest입니다.

그러나 어쨌든 java 작업 대신 junit task을 사용해야합니다. Java 응용 프로그램 자체가 아니라 JUnit 테스트이기 때문입니다. 예를 들어, main 방법이 없습니다.

+0

Jon, - 감사합니다. <클래스 경로 REFID = "_ 클래스 경로"/> <= "실행"따라 = "빌드 소스"대상 이름> : 나는 그것을 변경했습니다 이제 빌드됩니다. "dir"은 "junit"작업에 사용할 수있는 올바른 속성입니까? (테스트 출력은 볼 수 없지만, 그 이유는 별개의 태스크를 선언해야하기 때문일 것입니다). – rubyist

+0

@rubyist : 아니요,'dir'은 디렉토리를 지정합니다. 대신에'test' 요소를 사용하십시오. 예를 보려면 링크 된 문서 페이지 하단을보십시오. –

+0

나는 그것을 지금 만들었습니다. 도와 주셔서 대단히 감사합니다. – rubyist

관련 문제