2012-12-09 2 views
0

내 build.xml을 작성하고 있습니다. 그러나 내 junit 작업에 문제가있는 것 같습니다. 내 junit 작업을 실행할 때. 나는 성공을 거둘 수 있지만, junit 보고서는 run 1 테스트를 오류로 보여줍니다. 하지만 10 가지 이상의 테스트가 있습니다. 그래서 내 junit 작업을 실행하는 것이 있는지 궁금합니다. 여기 내 코드가있다.내 개미 junit 작업에 문제가 있는지 궁금합니다.

<property name="src.dir" value="src"/> 
<property name="bin.dir" value="bin"/> 
<property name="dest.dir" value="dest"/> 
<property name="test.dir" value="test/> 
<property name="lib.dir" value="lib"/> 
<path id="classpath"> 
    <pathelement location="${lib.dir}/junit-4.11.jar"/> 
    <pathelement location="${lib.dir}/ant-junit4.jar"/> 
</path> 

<target name="test" depends="compile"> 
    <junit printsummary="yes" haltonfailure="no"> 
      <classpath> 
       <pathelement location="${bin.dir}"/> 
       <path refid="classpath"/> 
      </classpath> 
      <formatter type="plain" usefile="false"/> 
       <batchtest fork="yes"> 
        <fileset dir="${test.dir}" includes="*Test*.java"/> 
       </batchtest> 
      </junit> 
     </target> 

나는 잘못 이해할 수 없으므로 누군가 나를 도울 수 있습니까?

+0

아마도 JUNIT 테스트 자체가 ... 그 코드는 어떻게 생겼을까요? –

+0

모든 테스트가 테스트 디렉토리 아래에있는 경우가 아니라면 기본 패키지에서'**/* Test * .java'가 필요합니다. –

답변

1

그리고 무슨 일입니까? 오류 메시지가 나타 납니까?

당신은 일반적으로 다음을 수행해야합니다

  • 는 일반 코드를 컴파일합니다. 결과적으로 *.class 파일은 target/classes 또는 build/classes과 같은 디렉토리에 저장해야합니다. 이 작업을 수행하려면 <javac> 작업의 destdir 매개 변수를 사용하십시오.
  • JUnit 테스트를 컴파일하십시오. 당신의 클래스 경로에서
    • , 당신은
    • 당신은 당신의 정상 클래스에 컴파일 된 destdir에 대한 참조를 필요로하여 정상 클래스를 컴파일하는 데 필요한 항아리의 모든 필요합니다.
    • JUnit 항아리가 필요합니다.
    • 이 파일들은 보통 jar에서 다른 디렉토리으로 컴파일해야합니다. 일반적으로 target/test-classes 또는 build/test-classes입니다.

는 JUnit 테스트를 컴파일하면, 당신이 그들을 실행할 수 있습니다. 당신이했던 것처럼 <junit> 작업을 사용할 수 있습니다.

  • 당신은 includeantruntime 매개 변수 true 또한 truefork를 설정해야합니다
  • 로 설정되어 있는지 확인해야합니다.
  • 테스트 클래스를 컴파일 할 때 동일한 클래스 경로 (세 가지 요소 모두 포함)가 필요합니다. 항아리가 더 필요할 수도 있지만 대개는 필요하지 않을 수 있습니다.
  • 당신은이 (당신이 target/test-classes 또는 build/test-classes에 저장. 당신의 예에서 사람, 당신은 소스에 대해이를 실행하려는 컴파일 JUnit 테스트 클래스 파일에 대한 테스트를 실행합니다.

내 디렉토리 레이아웃에 Maven 표준을 사용합니다. 즉, 내 Java 소스가 이고 JUnit Java 파일이 src/test/java 인 반면, XML 또는 등록 정보 또는 기타 필요한 소스 파일이 src/main/resources에 저장되어 있습니다. target/classes으로 컴파일되고 Junit 소스는 target/test-classes으로 컴파일됩니다.

**/test/**, **/Test/**, **/JUnit/**에 대한 걱정없이 코드와 테스트 코드를 별도로 컴파일 할 수 있으므로 모든 것이 별도이므로 디렉터리 컴파일시 예외가 발생합니다.

희망이 도움이됩니다.

관련 문제