51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 3261|回复: 3
打印 上一主题 下一主题

单元测试整体框架如何搭建??

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2005-8-12 12:10:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
因为即将要做一个项目的单元测试,程序员已经把部分代码写完了,他们叫我搭建整体测试框架,我只知道junit测试每个.java文件都会为其自动搭建一个setup()和teardown()的框架,但是我知道怎么搭建项目的整体测试框架?希望有这方面的人能够指导我一下,十分感谢`
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2005-8-12 13:12:03 | 只看该作者
我建议多看下网上相关资料,或者买本书看看。
给你简单说明一下:
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单元测试的主流
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2005-8-12 13:56:55 | 只看该作者

谢谢指教~

你有什么好的推荐的书吗?不要告诉我是junit action这本,因为我有英文的,而且太多人说的都是这本。
关于编写ant的build.xml文件,它会自动构建并运行整个项目的junit测试-------------------------这里我不是很懂,能告诉我怎么配置xml文件吗?
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2005-8-12 23:01:00 | 只看该作者
那本书我看过,又没有关于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>
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-5-9 22:10 , Processed in 0.069546 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表