1
我正在嘗試創建一個與Travis CI配合使用的build.xml文件。配置build.xml以在單獨的/ test目錄中運行JUnit測試
這是代碼,我拿出這麼遠:
<?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目錄和結構看起來像下面這樣:
- src
- folder1
- MyClass1.java
- test
- folder1
- MyClass1Test.java
我似乎無法弄清楚我需要更改以使測試從/ test文件夾運行。我試着改變src.dir
在不同位置的位置,指向test
而不是src
,但是我得到的錯誤是不同的包不存在。
有什麼建議嗎?
是否有你使用Ant而不是現代構建工具的原因? – chrylis
@chrylis我剛開始探索CI的世界,而這只是我遇到的第一種方法。我很樂意聽到有關我可以檢查的替代工具,但如果我可以使用此方法,它仍然很好。 –
@chrylis當你說「現代構建工具」時,你是指Gradle還是Maven? –