2017-10-20 1 views
1

Travis CI와 함께 사용할 build.xml 파일을 만들려고합니다. 별도의/test 디렉토리에서 JUnit 테스트를 실행하도록 build.xml 구성

<?xml version="1.0" encoding="UTF-8"?> 
<project name="Practice" basedir="." default="init"> 
    <property name="src.dir" location="src" /> 
    <property name="bin.dir" location="bin" /> 
    <property name="lib.dir" location="lib" /> 
    <path id="classpath"> 
     <pathelement location="${bin.dir}" /> 
     <pathelement location="${lib.dir}/hamcrest-core-1.3.jar" /> 
     <pathelement location="${lib.dir}/junit-4.11.jar" /> 
    </path> 
    <target name="clean"> 
     <delete dir="${build.dir}" /> 
    </target> 
    <target name="init" depends="clean"> 
     <mkdir dir="${bin.dir}" /> 
     <copy includeemptydirs="false" todir="${bin.dir}"> 
     <fileset dir="${src.dir}"> 
      <exclude name="**/*.launch" /> 
      <exclude name="**/*.java" /> 
     </fileset> 
     </copy> 
    </target> 
    <target name="compile" depends="init" description="compile"> 
     <javac srcdir="${src.dir}" destdir="${bin.dir}" classpathref="classpath" /> 
    </target> 
    <target name="test" depends="compile"> 
     <mkdir dir="${report.dir}" /> 
     <junit printsummary="yes"> 
     <classpath> 
      <path refid="classpath" /> 
     </classpath> 
     <formatter type="xml" /> 
     <test name="folder1.MyClass1Test" todir="${report.dir}" haltonfailure="yes" /> 
     </junit> 
    </target> 
</project> 

내가 파일 구조에서 같은 클래스 파일과 같은 디렉토리에 내 JUnit 테스트 파일을 배치하는 경우

은 아래, 위 :

내가 지금까지 가지고 올 한 코드 build.xml 파일은 작동하고, JUnit 테스트가 제대로 실행 :

- src 
    - folder1 
    - MyClass1.java 
    - MyClass1Test.java 

나는, 그러나, 별도의/test 디렉토리 내 테스트 파일을 가지고 구조는 다음과 같이 보입니다 :

,432을 10

테스트를/test 폴더에서 실행하려면 무엇을 변경해야하는지 알 수 없습니다. 나는 src 대신 test을 가리 키도록 다른 지점에서 src.dir 위치를 변경하려고 시도했지만 다른 패키지가 없다는 오류가 발생합니다.

제안 사항?

<target name="compileTest" depends="compile" description="compileTest"> 
    <javac srcdir="${test-src.dir}" destdir="${bin.dir}" classpathref="classpath" /> 
</target> 

테스트 대상은 다음

<target name="test" depends="compileTest"> 
    ... 
</target> 

가 추가 속성 test-src.dir을 추가 할 수 있는지 확인된다 :

+0

현대 빌드 도구 대신 Ant를 사용하는 이유가 있습니까? – chrylis

+0

@chrylis 저는 CI의 세계를 탐험하기 시작했습니다. 그리고 이것은 제가 처음 만난 첫 번째 방법 일뿐입니다. 내가 확인할 수있는 대체 도구에 대해 듣게되어 기쁩니다. 그러나이 방법을 사용할 수 있다면 여전히 좋을 것입니다. –

+0

@chrylis "현대식 건축 도구"라고 할 때, Gradle 또는 Maven을 언급하고 있습니까? –

답변

1

당신은// 테스트 소스를 컴파일 다른 대상을 정의해야합니다 수 있습니다.

관련 문제