junit浅学笔记一

   JUnit是一个回归测试框架(regression testing framework)。Junit测试是程序员测试,即所谓白盒测试,因为程序员知道被测试的软件如何(How)完成功能和完成什么样(What)的功能。Junit是一套框架,继承TestCase类,就可以用Junit进行自动测试了。

     虽然大多情况下他是程序员的活,但作为测试人员还是有必要了解一下,毕竟也是测试工作,提高自己人技术,扩展思想是主要,边学边做笔记,这样学过的东西才不会忘记,嘻嘻~!

 ========学习环境=================

java编辑器: Eclipse SDK 3.5.6

junit测试包:Eclipse中自带了junit 4 测试包

=================================

1.我们打开eclipse 创建一个工程名字为:Junit4,

创建一个包,命名为:com.junit4.cc ,

包下面创建一个类 T

代码如下:

package com.junit4.cc;
publicclass T {
    publicint add(int x ,int y){
        return x+y;
    }

}

我们如何来做测试,当然了,上面的代码一眼就可以看出结果,需要测试么,我们这里只是想说明问题,如果我们不用测试框架,我们会用写一个main方法对上面的代码进行验证。全部代码如下。

package com.junit4.cc;
publicclass T {
    publicint add(int x ,int y){
        return x+y;
    }
    publicstaticvoid main(String args[]){
        int z=new T().add(3,5); //向T类传递两个参数3和5
        System.out.println(z);  //打印z进行查看3和5是否做了加法运算
    }
}

云行上面的代码,通过查看结果来判断add方法是否正确。

---------------------------------------------------------------------------

上面的单元测试有很多弊端:

@ 需要花费很多的时间来写测试代码

@ 测试代码不可重用,一段测试代码对应一段被测代码。被测代码变,测试代码就没用了

@ 无法同时运行多个测试代码。假如有一百个被测试代码,要一个一个的运行测试代码,用肉眼观察结果,效率低还容易出错。

这是我简单总结的几个缺点。

---------------------------------------------------------------------------

 

2.   那么我们就要使用单元测试框架来提交效率。

下面我们就使用eclipse来创建一个测试。还是测试上面的代码为例子。

为了查看更加清晰,我们一般将测试代码与被测试的代码放在不同的包下面。

我们在Junit工程下面重新创建一个包,命名为:com.junit4.cc.test

----------------------------

创建一个测试类:TTest

注意:这里要创建的是一个测试类:在com.junit4.cc.test包上面右键点击-->new-->Junit test Case

点击“Next”会让你选择要测试的方法,选择后点击“Finish”则完成创建。

创建完成如下图:

TTest.java代码如下:

package com.junit4.cc.test;

importstatic org.junit.Assert.*;

import org.junit.Test;
import com.junit4.cc.*;

publicclass TTest {

    @Test
    publicvoid testAdd() {
        int z=new T().add(5,3);
        assertEquals(8,z);
    }

}

3.   如果我们想要真正运行TTest.java这个测试类,还要对这个工程引入junit测试包。

右键点击工程(junit4)--->Properties

点击“next ” 按钮,celipse提供junit3和junit4两个测试包,我们选择junit4 点击“finish”就将测试包引入。

 

4.  下面来运行我们TTest.java测试代码。

看到我们左侧的绿色滚动条,说明我们的被代码是没有问题。

你可以试着修改下面代码的参数:

int z=new T().add(5,3);  
  assertEquals(8,z);    //将5、3、8等数字任意修改,查看绿色滚动条的颜色,给出的提示是什么?

 

时间: 2024-08-01 13:09:31

junit浅学笔记一的相关文章

junit浅学笔记三

这一节我们将学习进行批量处理,假如我们有多的测试,怎样进行批量处理,请跟着我做. --------------------------------------------- 假如我们写了两个被测程序.如下: T.java package com.junit4.cc; publicclass T { publicint add(int x ,int y){ return x+y; } publicstaticvoid main(String args[]){ int z=new T().add(3

junit浅学笔记二

上一节初步介绍了什么是单元测试,为什么要做单元测试,以及junit4的初步使用,这里我们接着说一下junit4中的注解.   =============本节知识点============================ *     Error和Failures *    Junit4 Annotation ==================================================================   1.   在讲注解之前,先来认识 Error和Fail

[大数据之Yarn]——资源调度浅学

在hadoop生态越来越完善的背景下,集群多用户租用的场景变得越来越普遍,多用户任务下的资源调度就显得十分关键了.比如,一个公司拥有一个几十个节点的hadoop集群,a项目组要进行一个计算任务,b项目组要计算一个任务,集群到底先执行哪个任务?如果你需要提交1000个任务呢?这些任务又是如何执行的? 为了解决上面的问题,就需要在hadoop集群中引入资源管理和任务调度的框架.这就是--Yarn. YARN的发展 Yarn在第一代的时候,框架跟hdfs差不多.一个主节点jobtracker,用来分配

java工具之javadoc和jar浅学

ado java工具之javadoc和jar1,javadoc注释标记 /** */格式如:/***Title:Killer类<br>*@author Killer*@version 1.00*/其中<br>表示换行,但是有@标志会自动换行下来对Killer构造方法批注/***这是Killer类的构造函数*@param name Killer的名字*/其中@param <参数名称><参数说明>使用说明:javadoc -d Killer -version -

浅学设计模式之观察者&amp;lt;Observer&amp;gt;模式及在android中的应用

转自http://www.eoeandroid.com/home.php?mod=space&uid=871316&do=blog&id=48239 最近在学习下设计模式,而加深学习的不错的方法就是把心得写出来吧.记录下自己的理解.现在自己看的书是<head.Frist设计模式>这本书.比较不错,想学习设计模式的朋友可以看下这本书.         观察者<Observer>模式(有时又被称为发布-订阅<Publish/Subscribe>模式.

BeanShell在人工测试与管理之中的应用

JUnit 单元测试学深入人心的同时,也发现它对用户交互测试无能为力: TestCase 允许测试人员作动态的修改 可以在Test Case 中实现一个测试参数输入功能(UI 或参数配置文件)来解决这个问题,但实现这些功能的代价与重复工作量会很大. TestCase 可以方便地重复使用.组合.保存 不是所有所有测试环境下,都容许打开一个重量级的 Java IDE 编写有严格规范的 Java 代码.这就是脚本语言受欢迎的原因. BeanShell 可以较好解决以上问题. 1.BeanShell基本

上大学究竟是来干什么的?为什么会这样?

此文作于2010年11月18日,原发于本人新浪博客<上大学究竟是来干什么的?为什么会这样?>. 上大学究竟是来干什么的? 大学为什么会是这样? 我该如何度过大学? 这些问题很典型,但一直困扰着很多同学,尤其是愿意上进的同学.下面是一封学生来信和我的"顶撞"之词.可能逻辑性差,先写信件的回复,再介绍背景.希望引发同学们的思考,帮助同学们在现在条件下,充实地走过这几年,并真正有所收获. [学生来信]理论上讲应该是这样:每个人都有自己独特的能力,可是却不能每个都成为人才.&quo

我的 10 年自学编程之路

为什么每个人都这样匆忙? 走进任何一家书店,你都能看到诸如<24小时自学Java>这样的书,可能书名中的Java会变成C.SQL.Ruby.算法等,然后24小时会变成n天或n小时.在亚马逊高级搜索[title: teach, yourself, hours, since: 2000 ,你会发现有512种这样的书籍.排在前10位的,9个是编程类的书(还有一个是关于财务会计的).还有多种变化,例如"学习"替换"自学","天"替换"

网站改个版花费670万网民惊呼做个网站好值钱

本报讯(记者 张东锋)"中国工会网网站改版670万元","孔子学院网站运营服务3520万元".最近两天,财政部网站上公布的两则中直机构的中标公告引来网民围观.做个网站动辄就几百万元的成本支出,让"无比惊诧"的网民惊呼"做个网站好值钱". "史上最贵网站出炉" 最先被围观的是财政部网站上招标编号为T C 099R 72的"中国工会网扩建项目一期工程(网站改版.内容管理.站内检索.统计分析)"