初学软件测试之——如何使用Junit4
前几天刚刚接触软件测试,这篇文章主要是介绍使用eclipse的插件——Junit4进行单元测试。下面先介绍一下单元测试的定义:单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证。对于单元测试中单元的含义,一般来说,要根据实际情况去判定其具体含义,如C语言中单元指一个函数,Java里单元指一个类,图形化的软件中可以指一个窗口或一个菜单等。总的来说,单元就是人为规定的最小的被测功能模块。单元测试是在软件开发过程中要进行的最低级别的测试活动,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试。(摘自百度百科)。总之,单元测试其实就是针对一个函数或者一个简单的功能的检查。
下面介绍如何使用Junit4:
1.打开eclipse,新建一个Java Project,写几个函数,下面是我写的一个计算器的类:
public class Operator {
int a;
int b;
Operator(int c,int d){
a=c;
b=d;
}
/*
* 加法计算
*/
public int GetAddResult(){
return a+b;
}
/*
* 减法计算
*/
public int GetSubResult(){
return a-b;
}
/*
* 除法计算
*/
public double GetDivResult(){
return a/b;
}
/* public double GetDivResult(){
double z=0;
try{z=(double)a/(double)b;}
catch(ArithmeticException ari){
System.out.println("除数不能为0");
}
finally{
return z;
}
}*/
/*
* 乘法计算
*/
public int GetMulResult(){
return a*b;
}
}
2.右键单击工程,选择Propreties->Java Build Path->Libraries->Add Library:
选择Junit,单击next,选择Junit4

3.右键你要测试的类,选择New->Junit Test Case:

4.单击next,选择你要测试的类的方法,Finish,这样,一个测试类就建好了,你可以根据自己的代码进行修改测试:

5.我修改好的代码测试是这样的:
import static org.junit.Assert.*;
import junit.framework.TestCase; import org.junit.Before;
import org.junit.Test;
import org.junit.After; public class OperatorTest { @Before
public void setUp() throws Exception {
} @Test
public void testGetAddResult() {
Operator op=new Operator(7,5);
int result=op.GetAddResult();
assertEquals(12, result);
} @Test
public void testGetSubResult() {
Operator op=new Operator(7,5);
int result=op.GetSubResult();
assertEquals(2, result);
} @Test(expected=ArithmeticException.class)
public void testGetDivResult() {
Operator op=new Operator(7,0);
op.GetDivResult(); } @Test
public void testGetMulResult() {
Operator op=new Operator(7,5);
int result=op.GetMulResult();
assertEquals(35, result);
} }
6.运行结果:右键测试类,选择Run as ->JUnit Test:

初学软件测试之——如何使用Junit4的更多相关文章
- 《Google软件测试之道》基础
<Google软件测试之道>,一直听朋友讲起这本书,出于琐事太多,一直没机会拜读,最近部门架构觉得我们IT部门的技术太low,就给我们挑选了一些书籍,让我们多看看... 个人的一种学习习惯 ...
- google软件测试之道--读后笔记
看完google软件测试之道,以前有认真看过一次,今天又重新看了一遍. 在google,测试人员严格区分为SET和TE.SET前期深度参与项目的开发,推动开发人员的自测,从破坏者的角度寻 ...
- 小课堂week14 Google软件测试之道
读<Google软件测试之道> 在IT领域,Google是一面旗帜,是一家非常善于思考善于尝试的公司.随着面临挑战的不断增大,传统的测试开展方式也越来越力不从心,这本书讲述的就是一次完整的 ...
- [转载]软件测试之Web测试经典总结
转载自:软件测试之Web测试经典总结 基于Web的系统测试在基于Web的系统开发中,如果缺乏严格的过程,我们在开发.发布.实施和维护Web的过程中,可能就会碰到一些严重的问题,失败的可能性很大.而且, ...
- google软件测试之道读后感(一)
这几天在抽空读一本新书,久负盛名的<google软件测试之道>.之前在网络上一点一点地看过它的英文版,很受触动,还做了很长的读书笔记,现在看到了中文版,才恍觉之前的好些理解存在不恰当的地方 ...
- 《微软的软件测试之道》【PDF】下载
<微软的软件测试之道>[PDF]下载链接: https://u253469.pipipan.com/fs/253469-230382291 内容简介 书的第三部分探讨某些我们工作中使用过的 ...
- 《Google软件测试之道》【PDF】下载
<Google软件测试之道>[PDF]下载链接: https://u253469.pipipan.com/fs/253469-230382198 内容介绍 每天,Google都要测试和发布 ...
- 软件测试之实际工作工作方式001--log4
软件测试之实际工作工作方式001--log4 Dotest软件测试-董浩整理 领导安排任务后: 1)首先要确认理解:是指的某工作吗?具体有什么要求吗?时间截止到什么时候? 解析: a.万一 ...
- 软件测试之adb命令-实际公司使用场景--今日log
软件测试之adb命令-实际公司使用场景--今日log Dotest-董浩整理 1)可以看内存泄漏: 2)可以安装.卸载app--截图并提交bug: 3)可以通过抓app日志定位问题: 4)可以结合mo ...
随机推荐
- 问题(the question)
I want to know: 1. 软件开发最主要的目的 是什么? 2. 软件开发是否同样需要模,和架构? 3.软件开发与其他程序的需求分析是否相似,有什么不同之处? 4.软件开发最常用的计算机语言 ...
- Android端接收和发送cookie
流程: 首先android端使用HttpClient的方式发送HTTP请求,此时服务器创立cookie,并发送cookie给android端,android端再将cookie保存起来,在需要发送coo ...
- 使用holder进行内存管理
在C++中,我们使用new 和delete进行自己的内存管理. void test_func() { someType *ptr = new someType; //使用ptr ptr->fun ...
- Jvascript简介
一.Javascript就是我们所说的脚本语言.它不同于C++/java等语言,它更加灵活! 正因为其灵活性,没有那么多的规章制度,也是我们容易学的地方,但很多时候也是 令人无奈的地方! 二.我们要知 ...
- 【iCore3应用开发平台】发布 iCore3 应用开发平台使用说明
PDF下载地址:http://pan.baidu.com/s/1c2ca2lU
- hihoCoder 1185 连通性·三(Tarjan缩点+暴力DFS)
#1185 : 连通性·三 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 暑假到了!!小Hi和小Ho为了体验生活,来到了住在大草原的约翰家.今天一大早,约翰因为有事要出 ...
- insert操作卡死的处理过程
insert操作卡死的处理过程 先看看insert为什么被卡死 SQL> select sql_id from v$sql where sql_text like 'delete from st ...
- 关于页面中table中相同的列自动合并
代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w ...
- Codevs 2370 小机房的树 LCA 树上倍增
题目描述 Description 小机房有棵焕狗种的树,树上有N个节点,节点标号为0到N-1,有两只虫子名叫飘狗和大吉狗,分居在两个不同的节点上.有一天,他们想爬到一个节点上去搞基,但是作为两只虫子, ...
- java中Collections.sort排序详解
Comparator是个接口,可重写compare()及equals()这两个方法,用于比价功能:如果是null的话,就是使用元素的默认顺序,如a,b,c,d,e,f,g,就是a,b,c,d,e,f, ...