51Testing软件测试论坛
标题:
单元测试整体框架如何搭建??
[打印本页]
作者:
gantangyu
时间:
2005-8-12 12:10
标题:
单元测试整体框架如何搭建??
因为即将要做一个项目的单元测试,程序员已经把部分代码写完了,他们叫我搭建整体测试框架,我只知道junit测试每个.java文件都会为其自动搭建一个setup()和teardown()的框架,但是我知道怎么搭建项目的整体测试框架?希望有这方面的人能够指导我一下,十分感谢`
作者:
sincky
时间:
2005-8-12 13:12
我建议多看下网上相关资料,或者买本书看看。
给你简单说明一下:
1)首先你要测试的都是java源文件,编写每个java代码的junit测试代码,至于如何写,我就不能教你了;setup和teardown的格式,可以通过eclipse等IDE自动生成
2)然后,那么最好把java代码和junit代码分离放在不同目录
3)然后编写ant的build.xml文件,它会自动构建并运行整个项目的junit测试,还能生成html的报告
4)或者使用maven也可以,它和ant差不多,不过用的人比较少,出现问题可能也没人帮你
5)反正要做java单元测试,要多看看相关资料,ant和junit集成使用,是目前企业做java单元测试的主流
作者:
gantangyu
时间:
2005-8-12 13:56
标题:
谢谢指教~
你有什么好的推荐的书吗?不要告诉我是junit action这本,因为我有英文的,而且太多人说的都是这本。
关于编写ant的build.xml文件,它会自动构建并运行整个项目的junit测试-------------------------这里我不是很懂,能告诉我怎么配置xml文件吗?
作者:
sincky
时间:
2005-8-12 23:01
那本书我看过,又没有关于ant的编写。
我随后会录制junit课程放到网上,给大家学习!
关于ant的资料,网上有很多,编写也不难,这里我贴个例子吧:
<?xml version="1.0" encoding="gb2312"?>
<!--作者:sincky.zhang-->
<project name="practice" default="test" basedir=".">
<property file="build.properties"/>
<!-- <property environment="env"/>
<property name="j2ee" value="env.j2ee_home"/>
-->
<property name="base.dir" location="." />
<!--定义测试源文件-->
<property name="src.dir" location="${base.dir}/practice" />
<!--定义输出位置-->
<property name="src.java.dir" location="${src.dir}/java"/>
<property name="src.test.dir" location="${src.dir}/test"/>
<!--定义目标位置-->
<property name="target.dir" location="${base.dir}/target"/>
<property name="target.classes.java.dir" location="${target.dir}/classes/java"/>
<property name="target.classes.test.dir" location="${target.dir}/classes/test"/>
<!--定义报告位置-->
<property name="target.report.dir" location="${target.dir}/report"/>
<property name="target.jars.dir" location="${target.dir}/jars"/>
<!--定义lib-->
<property name="lib" location="${base.dir}/lib"/>
<!--initialization-->
<target name="init">
<!--<tstamp/>-->
<mkdir dir="${target.classes.java.dir}"/>
<mkdir dir="${target.classes.test.dir}"/>
<mkdir dir="${target.report.dir}"/>
<mkdir dir="${target.jars.dir}"/>
</target>
<target name="compile.java" depends="init">
<!--javac-->
<javac srcdir="${src.java.dir}" destdir="${target.classes.java.dir}" debug="off">
<src path="${src.java.dir}"/>
<include name="**/*.java" />
</javac>
</target>
<target name="compile.test" depends="compile.java">
<!--javac-->
<javac srcdir="${src.test.dir}" destdir="${target.classes.test.dir}" debug="off">
<classpath>
<pathelement location="${target.classes.java.dir}"/>
</classpath>
</javac>
</target>
<target name="compile" depends="compile.java,compile.test"/>
<target name="test" depends="compile">
<property name="tests" value="*TestCase"/>
<junit printsummary="yes" haltonerror="yes" haltonfailure="yes" fork="no">
<formatter type="plain" usefile="false"/>
<formatter type="xml"/>
<batchtest todir="${target.report.dir}">
<fileset dir="${src.test.dir}">
<include name="**/${tests}.java"/>
<exclude name="**/All*.java"/>
</fileset>
</batchtest>
<classpath>
<pathelement location="target.classes.test.dir"/>
<pathelement location="target.classes.java.dir"/>
</classpath>
</junit>
</target>
<target name="report" depends="test">
<mkdir dir="${target.report.dir}/html"/>
<junitreport todir="${target.report.dir}">
<fileset dir="${target.report.dir}">
<include name="TEST-*.xml"/>
</fileset>
<report todir="${target.report.dir}/html"/>
</junitreport>
</target>
<target name="clean">
<delete dir="${target.dir}"/>
</target>
</project>
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2