• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

JUnit in java 真正的测试用例实战

发布: 2008-9-01 11:03 | 作者: 扁豆的专栏 | 来源: blog | 查看: 136次 | 进入软件测试论坛讨论

领测软件测试网
         当今软件测试十分盛行时,本人通过项目实践和个人亲身体会浅谈单元测试,本人一直坚持用代码说话的原则,同时也希望个人能给出宝贵意见,共同探讨、共同进步,为中国软件事业有更大的发展共同奋斗!
最早我们项目组开发的项目时,写代码都是从底层一直写到表现层到jsp,然后开发人员在web层调试页面,近乎98%都会报一大堆exception,然后再在代码中加断点一步一步查到底哪一层代码出现问题……,比较好点做法就是在各个类中加上main方法测试,但总体很不理想,给web层开发人员的调试和质量控制人员带来繁重的工作压力;使用单元测试后,针对每一个方法都做严格的把关,大大减少调试的时间;同时质量控制人员返回过来的bug少了近60%,现在对于开发人员写测试用例非常熟练,并且本人根据实际情况对测试用例做了点小小改动(这部分主要在后面代码中详述),带来很好的效果!
单元测试到底给实际开发带来什么好处那?
1           (1)首先对于开发人员来说大大减少调试工作的时间,同时也规范了对于代码安全管理(我们知道那些方法是可以调用的);
2           (2) 对于整个项目来说,有了完整的测试,保证项目最后交付测试有了可靠依据;
3           (3)对于测试人员大大减少bug的反馈;
4           (4)对于项目经理整个项目达到很好的可控;
5          (5)最主要的完整的单元测试给后期维护人员带来很大的便捷!
单元测试好处可能还有很多,但本人只能理解和感悟这么多,希望观者补充!
单元测试配置:
       我将使用eclipsemyEclopse给大家介绍关于JUNIT的环境的简单配置;右键点击项目选择属性,在弹出窗口中到环境变量中添加junit.jar包,这样下一步我们就可以进行单元测试了;
使用eclipse快速开发test Case
如下图:右键选择你要测试的类,在新建中点击“JUnit 测试用例
弹出对话框,配置测试名称和根目录,添加注释等,再点击下一步到下图:
      选择你要测试类中的方法,点击完成!便生成测试类的基本框架,如下代码,我们以对一个DAO类测试为例:
/**//*
 * Copyright reserved 2005 by XXXXCo. Ltd.
 * Author
Fu wei    Date2006-9-4
 */



import junit.framework.TestCase;

/** *//**
 * 
@author Fu wei
 */

public class OrgTypeDAOTest extends TestCase ...{
    
/** *//**
     * 
@param arg0
     */

    
public OrgTypeDAOTest(String arg0) ...{
        
super(arg0);
    }

    
/**//* 
     * @see junit.framework.TestCase#setUp()
     */

    
protected void setUp() throws Exception ...{
        
super.setUp();
    }

    
/**//* 
     * @see junit.framework.TestCase#tearDown()
     */

    
protected void tearDown() throws Exception ...{
        
super.tearDown();
    }
    
/** *//**
     *  
主函数
     * 
@param args
     */

    
public static void main(String[] args)...{
        TestRunner.run(OrgTypeDAOTest .
class);
    }
    
/** *//**
     * {
@link OrgTypeDAO#getOrgTypeList()} 测试方法
     */

    
public final void testGetOrgTypeList() ...{
        fail("
尚未实现"); // TODO
    }

    
/** *//**
     * {
@link OrgTypeDAO#insertOrgTypeInfo(com.zhjy.mltx.vo.OrgTypeVO)} 的测试方法。
     */

    
public final void testInsertOrgTypeInfo() ...{
        fail("
尚未实现"); // TODO
    }

    
/** *//**
     * {
@link OrgTypeDAO#deleteOrgTypeInfo(java.lang.String)} 的测试方法。
     */

    
public final void testDeleteOrgTypeInfo() ...{
        fail("
尚未实现"); // TODO
    }

    
/** *//**
     * {
@link OrgTypeDAO#updateOrgTypeInfo(com.zhjy.mltx.vo.OrgTypeVO)} 的测试方法。
     */

    
public final void testUpdateOrgTypeInfo() ...{
        fail("
尚未实现"); // TODO
    }

    
/** *//**
     * {
@link OrgTypeDAO#getOrgTypeInfoById(java.lang.String)} 的测试方法。
     */

    
public final void testGetOrgTypeInfoById() ...{
        fail("
尚未实现"); // TODO
    }

    
/** *//**
     * {
@link OrgTypeDAO#isRepeatOrgTypeInfo(java.lang.String)} 的测试方法。
     */

    
public final void testIsRepeatOrgTypeInfoString() ...{
        fail("
尚未实现"); // TODO
    }

    
/** *//**
     * {
@link OrgTypeDAO#isRepeatOrgTypeInfo(com.zhjy.mltx.vo.OrgTypeVO)} 的测试方法。
     */

    
public final void testIsRepeatOrgTypeInfoOrgTypeVO() ...{
        fail("
尚未实现"); // TODO
    }

    
/** *//**
     * {
@link OrgTypeDAO#getFlatOrgIdByName(java.lang.String)} 的测试方法。
     */

    
public final void testGetFlatOrgIdByName() ...{
        fail("
尚未实现"); // TODO
    }
}
 
 JUnit单元测试一共要注意一下几点:
1import junit.framework.TestCase junit.textui.TestRunner
2)继承junit.framework.TestCase
3)自行添加一个main方法    中调用TestRunner.run(测试类名.class);
4)有一个调用super(String)的构造函数;
        以上都是JUnit必有的特征,除以上外,我们发现有许多以test开头的方法,而这些方法正是我们要测试的方法,Junti测试其实采用的是断言的方式,只要我们在所有test开头中的方法对数据添加断言方法,同时提供很多断言的方法,

常用断言方法
assertEquals("失败提示信息","期望数据","测试数据")
断言获取数据是否与所期望的相等
assertNotNull("失败提示信息","测试数据")
断言获取数据不为null,否则提示错误
assertNull("失败提示信息","测试数据")
断言获取数据是为null,否则提示错误
assertTrue("失败提示信息",测试数据blooean)
断言获取数据是否为ture,否则提示错误
fail("失败提示信息");
此方法一般放到异常处,遇到此方法,测试将停止!
assertSame("失败提示信息","期望数据","测试数据")
断言获取数据是否与所期望的相同

当我们写完所有方法策略后,JUnit测试如下图:
在方法页面中点击右键在调试方式运行方式中点击JUnit 测试,就运行测试类!

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/

TAG: java JAVA Java junit Junit JUnit JUNIT 实战

21/212>

关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网