初学软件测试之——如何使用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 ...
随机推荐
- [转]RMAN检测数据库坏块
backup validate check logical database; select * from v$database_block_corruption; RMAN> backup v ...
- Oracle数据库字符集试验
对于初学者我们可以理解字符集就是一种字符编码方式,试想人可以直接语言进行交流,使用文字进行记录,而计算机却不认得我们人类创立的文字,计算机只认得0和1这样的二进制代码.当我们要通过计算机记录文字信息的 ...
- jQuery实现的简单小功能(实用)
1.返回顶部使用JQuery的animate和scrollTop方法可以创建简单地返回顶部的动画: // Back to top $('#top').click(function (e) { e.pr ...
- UILabel笔记(待完善)
UIlabel的换行由 numberOfLines 属性控制,当为0时,则会自动换到适合的行数: 换行的模式由 lineBreakMode 属性控制: public enum NSLineBreakM ...
- JavaScript + PHP 实现刷新继续保持倒计时的按钮
场景:发送一个验证码到手机,当验证码发出时,会提示隔 1 分钟之后可以再次发送.通常有这几种方式防止恶意请求,一是再次发送之前需要输入验证码,二是在指定的时间间隔之内不能再次发送. 有些网站在 1 分 ...
- JQ第三天//基本纯代码
一.让图片飞 代码:<script type="text/javascript"> $(function () { $(docume ...
- c# TimeSpan
转自:http://blog.163.com/y_p_xu/blog/static/17085710220116472030543/ /// <summary> /// 将时 ...
- IP路由选择
当一个ip数据包准备好了,它是如何到达目标主机的? ?首先这个ip数据报文的生命周期即ttl值是否为0了,如果是0就丢弃了 ?搜索路由表中有没有完全匹配的主机地址 ?匹配主机失败后,搜索路由表中同子网 ...
- could not get lock /var/lib/dpkg/lock
这个问题的原因可能是有另外一个程序正在运行,导致资源被锁不可用.而导致资源被锁的原因,可能是上次安装时没正常完成,而导致出现此状况. 解决方法:输入以下命令 sudo rm /var/cache/ap ...
- blowfish ECB decode
blowfish ECB Decode package main import ( "crypto/cipher" "encoding/hex" " ...