(转)Eclipse中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(,); //向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(,);
assertEquals(,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等数字任意修改,查看绿色滚动条的颜色,给出的提示是什么?
(转)Eclipse中junit框架的使用——单元测试的更多相关文章
- Eclipse中Junit测试中@Before不执行
场景 在使用Junit进行单元测试时,一部分获取JPA的entityManager的代码将其放在了 @Before标注的方法中,这样每次执行@TEST标注的方法时会首先执行@Before标注的方法. ...
- eclipse中springmvc框架出现404
出现404报错信息: 1.我出现的错误是配置没问题,找了一圈发现自己单词拼错了,导致运行不了,出现404 2.配置问题: jar包:首先导入spring 的jar包15个,log4j两个,junit两 ...
- eclipse中junit简单使用
1.在工程中右击 Build Path,Add libraries 然后就可以运行对应的方法了,不需要main方法调用了
- eclipse中JUnit工具的使用
- Android studio及eclipse中的junit单元測试
转载请标明出处:http://blog.csdn.net/nmyangmo/article/details/51179106 前一段时间有人问我单元測试的相关内容,我稍作总结做日志例如以下: 由于我接 ...
- 【Java】eclipse中的JUnit单元测试
eclipse中的JUnit单元测试 步骤: 选中当前工程 - 右键选择:build path - add libraries - JUnit 4 - 下一步 创建Java类,进行单元测试. 此时的J ...
- [转]在Eclipse中使用JUnit4进行单元测试(初级篇)
首先,我们来一个傻瓜式速成教程,不要问为什么,Follow Me,先来体验一下单元测试的快感! 首先新建一个项目叫JUnit_Test,我们编写一个Calculator类,这是一个能够简单实现加减乘除 ...
- 在Eclipse中使用JUnit4进行单元测试(初级篇)
首先,我们来一个傻瓜式速成教程,不要问为什么,Follow Me,先来体验一下单元测试的快感! 首先新建一个项目叫JUnit_Test,我们编写一个Calculator类,这是一个能够简单实现加减乘除 ...
- 【Java】在Eclipse中使用JUnit4进行单元测试(初级篇)
本文绝大部分内容引自这篇文章: http://www.devx.com/Java/Article/31983/0/page/1 我们在编写大型程序的时候,需要写成千上万个方法或函数,这些函数的功能可能 ...
随机推荐
- How to change the property of a control from a flowlayoutpanel?
Well, the easiest way would be to retain an explicit reference to the buttons you're adding. Otherwi ...
- ZOJ3261 Connections in Galaxy War 并查集
分析:对于这种删边操作,我们通常可以先读进来,然后转化离线进行倒着加边 #include <stdio.h> #include <string.h> #include < ...
- hunnu 小明的烦恼——找字符串
http://acm.hunnu.edu.cn/online/?action=problem&type=show&id=11544&courseid=0 小明的烦恼——找字符串 ...
- Rose
<html> <head> <title>JS小尝试</title> <meta http-equiv="Content-Type&qu ...
- SQL Server查询性能优化——覆盖索引(二)
在SQL Server 查询性能优化——覆盖索引(一)中讲了覆盖索引的一些理论. 本文将具体讲一下使用不同索引对查询性能的影响. 下面通过实例,来查看不同的索引结构,如聚集索引.非聚集索引.组合索引等 ...
- Raspberry Pi使用USB摄像头远程监控
用到了开源项目:MJPG-streamer 开源项目的下载地址: http://sourceforge.net/p/mjpg-streamer/code/HEAD/tree/mjpg-streamer ...
- Linux Kernel Schduler History And Centos7.2's Kernel Resource Analysis
本文分为概述.历史.el7.2代码架构图解三部分. 解决的问题: a.Kernel调度发展过程: b.以架构图的方式,详解el7.2具体调度实现.内核线程模型.调度时间片计算,以及探究整个Kernel ...
- ARM Linux字符设备驱动程序
1.主设备号和次设备号(二者一起为设备号): 一个字符设备或块设备都有一个主设备号和一个次设备号.主设备号用来标识与设备文件相连的驱动程序,用来反 映设备类型.次设备号被驱动程序用来辨别操作的是哪个 ...
- POJ-1981 Circle and Points 单位圆覆盖
题目链接:http://poj.org/problem?id=1981 容易想到直接枚举两个点,然后确定一个圆来枚举,算法复杂度O(n^3). 这题还有O(n^2*lg n)的算法.将每个点扩展为单位 ...
- 几乎每个文件里面都有 #ifdef __cplusplus extern "C" { #endif 可我没找到程序里那个地方定义了__cplusplus 啊?这又是怎么回事呢?
我们的C语言有个进化版,叫C++,这个想必楼主知道,Keil MDK是支持C++编程的,也就是说,你可以用C语言或者C++写你的程序,都可以. 但是,有一个问题,就是头文件的问题,C语言写的头文件C+ ...