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
을 추가 할 수 있는지 확인된다 :
현대 빌드 도구 대신 Ant를 사용하는 이유가 있습니까? – chrylis
@chrylis 저는 CI의 세계를 탐험하기 시작했습니다. 그리고 이것은 제가 처음 만난 첫 번째 방법 일뿐입니다. 내가 확인할 수있는 대체 도구에 대해 듣게되어 기쁩니다. 그러나이 방법을 사용할 수 있다면 여전히 좋을 것입니다. –
@chrylis "현대식 건축 도구"라고 할 때, Gradle 또는 Maven을 언급하고 있습니까? –