扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
在本页阅读全文(共2页)
看标题就知道,这个是开发一个Java应用的利器组合,使用Ant完成工程的构建(Build),使用JUnit完成单元测试,使用Cobertura完成代码覆盖测试,也可以辅助查找性能瓶颈和一些类型的BUG,下面是一个完整的build.xml范例,可以完全拿来用,不需任何修改,只要你的目录和这里的目录一致(应该也是很通用的):
下载下面的build.xml文件
文件内容:
<project default="all">
<!? =================================================================== ?>
<!? Definitions ?>
<!? =================================================================== ?>
<property name="base-dir" location="." />
<property name="lib-dir" location="${base-dir}/lib" />
<property name="src-dir" location="${base-dir}/src" />
<property name="testcase-dir" location="${base-dir}/test" />
<property name="out-dir" location="${base-dir}/classes" />
<property name="report-dir" location="${base-dir}/report" />
<property name="junit-dir" location="${report-dir}/junit" />
<property name="junit-xml-dir" location="${junit-dir}/xml" />
<property name="junit-html-dir" location="${junit-dir}/html" />
<property name="cobertura-dir" location="${report-dir}/cobertura" />
<property name="cobertura-xml-dir" location="${cobertura-dir}/xml" />
<property name="cobertura-html-dir" location="${cobertura-dir}/html" />
<property name="instrumented-dir" location="${report-dir}/instrumented" />
<property name="instrument-file" location="${instrumented-dir}/cobertura.ser" />
<property name="cobertura.dir" value="${instrumented-dir}" />
<path id="classpath.all">
<pathelement location="${out-dir}" />
<fileset id="alljars" dir="${lib-dir}">
<include name="**/*.jar" />
</fileset>
</path>
<!? include the cobertura building jars ?>
<path id="cobertura.classpath">
<path refid="classpath.all" />
</path>
<!? define the cobertura property file ?>
<taskdef classpathref="cobertura.classpath" resource="tasks.properties"/>
<!? =================================================================== ?>
<!? Project Targets ?>
<!? =================================================================== ?>
<target name="init" description="initialize the project env.">
<!? create the output folder ?>
<mkdir dir="${out-dir}" />
<mkdir dir="${report-dir}" />
<copy todir="${out-dir}">
<fileset dir="${src-dir}" includes="**/*.properties" />
</copy>
</target>
<target name="compile" depends="init">
<javac srcdir="${src-dir}" destdir="${out-dir}">
<classpath refid="classpath.all" />
</javac>
</target>
<!? =================================================================== ?>
<!? Unit Test Targets ?>
<!? =================================================================== ?>
<!? - - - - - - - - - - - - - - - - -
target: init
initialize the build env
- - - - - - - - - - - - - - - - - ?>
<target name="init-test" description="initialize the test env.">
<!? create the output folder ?>
<mkdir dir="${junit-dir}" />
<mkdir dir="${junit-xml-dir}" />
<mkdir dir="${junit-html-dir}" />
</target>
<!? - - - - - - - - - - - - - - - - -
target: compile-test
compile the test cases
- - - - - - - - - - - - - - - - - ?>
<target name="compile-test" depends="compile">
<javac srcdir="${testcase-dir}" destdir="${out-dir}">
<classpath refid="classpath.all" />
</javac>
</target>
<!? =================================
target: test
run the unit test
================================= ?>
<target name="test" depends="init-test">
<junit fork="yes" printsummary="on" maxmemory="100m">
<sysproperty key="net.sourceforge.cobertura.datafile"
file="${instrument-file}" />
<classpath location="${instrumented-dir}" />
<classpath refid="cobertura.classpath" />
<formatter type="xml" />
<batchtest todir="${junit-xml-dir}">
<fileset dir="${out-dir}">
<include name="**/Test*.class" />
<exclude name="**/*$*.class" />
</fileset>
</batchtest>
</junit>
<junitreport todir="${junit-xml-dir}">
<fileset dir="${junit-xml-dir}">
<include name="TEST-*.xml" />
</fileset>
<report format="frames" todir="${junit-html-dir}" />
</junitreport>
</target>
<!? =================================================================== ?>
<!? Code Coverage Targets ?>
<!? =================================================================== ?>
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者