前几天刚刚接触软件测试,这篇文章主要是介绍使用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:

详细可以参考:http://wenku.baidu.com/link?url=lNBk9LfN8Sle4022v9UU9DZKdxgpna8Yt57yI9PJCgH1qlpaDlvnvT4eT7tgXnpK8CvTGThnXok6l_4APEI2E-r_SI0d1H1YfLUZ94bREPu

初学软件测试之——如何使用Junit4的更多相关文章

  1. 《Google软件测试之道》基础

    <Google软件测试之道>,一直听朋友讲起这本书,出于琐事太多,一直没机会拜读,最近部门架构觉得我们IT部门的技术太low,就给我们挑选了一些书籍,让我们多看看... 个人的一种学习习惯 ...

  2. google软件测试之道--读后笔记

         看完google软件测试之道,以前有认真看过一次,今天又重新看了一遍.   在google,测试人员严格区分为SET和TE.SET前期深度参与项目的开发,推动开发人员的自测,从破坏者的角度寻 ...

  3. 小课堂week14 Google软件测试之道

    读<Google软件测试之道> 在IT领域,Google是一面旗帜,是一家非常善于思考善于尝试的公司.随着面临挑战的不断增大,传统的测试开展方式也越来越力不从心,这本书讲述的就是一次完整的 ...

  4. [转载]软件测试之Web测试经典总结

    转载自:软件测试之Web测试经典总结 基于Web的系统测试在基于Web的系统开发中,如果缺乏严格的过程,我们在开发.发布.实施和维护Web的过程中,可能就会碰到一些严重的问题,失败的可能性很大.而且, ...

  5. google软件测试之道读后感(一)

    这几天在抽空读一本新书,久负盛名的<google软件测试之道>.之前在网络上一点一点地看过它的英文版,很受触动,还做了很长的读书笔记,现在看到了中文版,才恍觉之前的好些理解存在不恰当的地方 ...

  6. 《微软的软件测试之道》【PDF】下载

    <微软的软件测试之道>[PDF]下载链接: https://u253469.pipipan.com/fs/253469-230382291 内容简介 书的第三部分探讨某些我们工作中使用过的 ...

  7. 《Google软件测试之道》【PDF】下载

    <Google软件测试之道>[PDF]下载链接: https://u253469.pipipan.com/fs/253469-230382198 内容介绍 每天,Google都要测试和发布 ...

  8. 软件测试之实际工作工作方式001--log4

    软件测试之实际工作工作方式001--log4 Dotest软件测试-董浩整理   领导安排任务后:   1)首先要确认理解:是指的某工作吗?具体有什么要求吗?时间截止到什么时候? 解析:   a.万一 ...

  9. 软件测试之adb命令-实际公司使用场景--今日log

    软件测试之adb命令-实际公司使用场景--今日log Dotest-董浩整理 1)可以看内存泄漏: 2)可以安装.卸载app--截图并提交bug: 3)可以通过抓app日志定位问题: 4)可以结合mo ...

随机推荐

  1. comebotree树

    comebotree树: java: @RequestMapping(value="/combobox.do") public @ResponseBody String combo ...

  2. Java实现验证码制作之一Kaptcha验证码

    Kaptcha验证码 是google提供的验证码插件,使用起来相对简单,设置的干扰线以及字体扭曲不易让其他人读取破解. 这里我们需要 导入一个 kaptcha-2.3.jar  下载地址:http:/ ...

  3. PHP基础知识之数组

    数组的定义: array( key => value , ... ) // 键(key)可以是一个整数或字符串,键可以省略,默认从0开始索引 // 值(value)可以是任意类型的值或者简写的方 ...

  4. matlab处理图像代码

    1.图像的读取MATLAB中从图像文件中读取数据用函数imread(),这个函数的作用就是将图像文件的数据读入矩阵中,此外还可以用imfinfo()函数查看图像文件的信息(见例1)%例1:图像数据及图 ...

  5. ios-UserDefaults

    //单例设计模式 /* 1.单例是一种设计模式 是开发人员在开发过程中总结出来的简单方法 2. 如果某个对象在整个工程中有且只有一个(唯一的)就必须使用单例设计模式创建该对象 3.单例设计模式创建的对 ...

  6. /etc/sudoers文件损坏修复

    1. 重启(开机)时按Shift键(这时就会进入grub模式) 选择第二项 进入高级选项

  7. robot创建桌面图标(转载)

    桌面ride图标,安装之后会自动创建(偶尔也会创建失败),创建桌面图标方法如下: 1. 新建快捷方式 在桌面右击鼠标,弹出的菜单选择 新建-快捷方式 ,然后在"请键入对象"的位置输 ...

  8. 别再为了iOS新系统设备而重新安装一个新版Xcode了.其实我们可以添加版本支持

    众所周知,Xcode7.3的代码补全是有问题的  如导入自定义类之后,在代码中并不会补全相应的类名... 但Xcode7.2是没有这个问题的,但很多时候我们自己的设备都升级到了iOS9.3.X系统,导 ...

  9. linux cntlm代理的配置

    在linux下需要配置代理上网,如yum, wget等.如果直接配置windows下的代理,如下: export http_proxy=http://<proxyIP>:<port& ...

  10. js获取当前时间戳 不需毫秒数

    var timestamp = Date.parse(new Date())/1000;