一、简介:

  JUnit是一个Java语言的单元测试框架。它由Kent Beck和Erich Gamma建立,逐渐成为源于Kent Beck的sUnit的xUnit家族中最为成功的一个。 JUnit有它自己的JUnit扩展生态圈。多数Java的开发环境都已经集成了JUnit作为单元测试的工具。Junit测试是程序员测试,即所谓白盒测试,因为程序员知道被测试的软件如何(How)完成功能和完成什么样(What)的功能。Junit是一套框架,继承TestCase类,就可以用Junit进行自动测试了。

它包括以下特性:

1、用于测试期望结果的断言(Assertion)
2、用于共享共同测试数据的测试工具
3、用于方便的组织和运行测试的测试套件
4、图形和文本的测试运行器
二、JUnit的使用:
首先新建一个项目为Calculator,我们编写一个Calculator类,这是一个能够简单实现加减乘除、平方、开方的计算器类,然后对这些功能进行单元测试。这个类并不是很完美,我们故意保留了一些Bug用于演示,这些Bug在注释中都有说明。该类代码如下:

package net.test.unit.junit;

public class Calculate {

  private static int result;  //静态变量,用于存储运行结果

   public void add(int n){

   result=result+n;

}

  public void substract(int n){

   result=result-1;  Bug: 正确的应该是 result =result-n

}

   public void multiply(int n)     {

   result=result*n;

}

   public void divide(int n)     {

      result=result/n;

}

   public void squareRoot(int n)     {

     for(;;);    //Bug:死循环     }

  public void clear()     {

   result=0;  //将结果清零

}

  public int getResult()     {

   return result;

}

}

  第二步,将JUnit4单元测试包引入这个项目:在该项目上点右键,点“属性”,如图:

  在弹出的属性窗口中,首先在左边选择“Java Build Path”,然后到右上选择“Libraries”标签,之后在最右边点击“Add
Library…”按钮,如下图所示:

  然后在新弹出的对话框中选择JUnit4并点击确定,如上图所示,JUnit4软件包就被包含进我们这个项目了。

  第三步,生成JUnit测试框架:在Eclipse的Package Explorer中用右键点击该类弹出菜单,选择“JUnit 测试用例”。如下图所示:

  

  在弹出的对话框中,进行相应的选择,如下图所示:

  点击“下一步”后,系统会自动列出你这个类中包含的方法,选择你要进行测试的方法。此例中,我们仅对“加、减、乘、除”四个方法进行测  试。如下图所示:

  之后系统会自动生成一个新类CalculatorTest,里面包含一些空的测试用例。你只需要将这些测试用例稍作修改即可使用。完整的CalculatorTest代码如下:

  JUnit4之前是通过setUp、TearDown方法完成。在Junit4中,仍然可以在每个测试方法运行之前初始化字段,和配置环境,当然也是通过注释完成。Junit4中,通过@befroe替代setUp方法;@After替代tearDown方法。在一个测试类中,甚至可以使用多个@Before来注释多个方法,这些方法都是在每个测试之前运行。说明一点,@Before是在每个测试方法运行前均初始化一次,同理@Ater是在每个测试方法运行完毕后,均匀性一次就是说,经这两个注释的初始化和注销,可以保证各个测试之间的独立性而互不干扰,他的缺点是效率低。另外,不需要在朝类中显示调用初始化和清除方法,只要他们不被覆盖,测试运行程序将根据需要自动调用这些方法。超类中的@Before方法在自来的@Before方法之前调用(与构造函数调用顺序一致),@After方法是子类中的在超类之前运行。
在JUnit4中加入了一项新特性。加入了两个注释:@BeforeClass和@AfterClass,使用这两个注释的方法,在该测试类中,的测试方法之前、后各运行一次,而不是按照方法各运行一次。对于消耗很的啊的资源,可以使用这两个注释。

第四步,运行测试代码:按照上述代码修改完毕后,我们在CalculatorTest类上点右键,选择“Run As à JUnit
Test”来运行我们的测试,如下图所示:

运行结果如下:

至此,我们已经完整体验了在Eclipse中使用JUnit的方法。

转载于:https://www.cnblogs.com/gaoruming/p/4530032.html

Junit的安装与使用相关推荐

  1. 软件测试技术第一次试验之——JUnit的安装与使用

    众所周知,在一个大型的软件项目中,测试是必不可少的.传统的测试方法往往要自己编写测试函数再结合测试用例进行验证,这样会显得比较繁琐.所以我们可以使用JUnit框架进行测试. 使用junit的好处就是这 ...

  2. junit、hamcrest、eclemma的安装与使用

    1.junit的安装与使用 1.1 安装步骤 1)从http://www.junit.org/ 下载junit相应的jar包: 2) 在CLASSPATH中加入JAR包所在的路径,如E:\Java\j ...

  3. junit jumpstart

    这篇文章是junit的入门,文章主要包含下面的几个部分: 1.junit是什么?我们为什么要使用junit这个框架?使用junit框架能够给我们带来什么? 2.一个简单的junit的测试demo. 1 ...

  4. Java--Vim、Ant、Junit、Jar

    一.VI/VIM编辑器的使用 1.基础命令 2.常用命令 3.使用过程 二.JAVA语言学习 1.基础语法 2.swing的应用(所写内容并未全部用到) 3.JAVA使用-Calculator制作 三 ...

  5. 在IDEA上进行JUnit测试

    本文主要介绍了如何在IDEA上进行JUnit测试. 文章目录 1 工程创建 2 JUnit的安装 3 进行测试 1 工程创建 在IDEA中创建一个普通的java工程,然后建立如下目录: 其中fib为为 ...

  6. [转]Android UI 自动化测试

    介绍 Android测试支持库包含UI自动化模块,它可以对Android应用进行自动黑盒测试.在API Level 18中引入了自动化模块,它允许开发者在组成应用UI的控件上模仿用户行为. 在这个教程 ...

  7. 自动化测试框架的搭建

    说起自动化测试,我想大家都会有个疑问,要不要做自动化测试? 自动化测试给我们带来的收益是否会超出在建设时所投入的成本,这个嘛别说是我,即便是高手也很难回答,自动化测试的初衷是美好的,而测试工程师往往在 ...

  8. 一个电子商务网站的设计及开发环境配置文档

    开发环境配置文档 1.涉及的技术,工具 : + ANT1.6.2 ( 项目管理 )  + Eclipse2.1.2 ( 开发代码工具 )  + Junit2.1.1 ( 代码测试工具 )  + JDK ...

  9. 实验二《面向对象程序设计》_实验报告

    实验二<面向对象程序设计>_实验报告 一.实验前期预习准备 Junit的安装和配置 选择File->Setting打开设置对话框,在设置对话框中选择Plugins, 单击Instal ...

最新文章

  1. makefile小技巧
  2. python自动化办公兼职-用Python自动办公,做职场高手(完结)
  3. 如何将通达信的预警股票发送到微信
  4. ML之SR:Softmax回归(Softmax Regression)的简介、使用方法、案例应用之详细攻略
  5. ios nslinkattributename 自定义url_iOS音视频播放指南(二)
  6. 计算机组成原理 微指令编码_计算机组成原理(指令)
  7. iOS项目中常见定时器
  8. ios显示gif格式图片
  9. 科罗拉多州立大学计算机科学专业,2020年科罗拉多州立大学有哪些优势专业
  10. BIM+GIS工程管理系统——BIM与GIS的跨界合作
  11. 【小工具】 - linux内存碎片检查和清理
  12. 1688按关键词搜索示例
  13. 模式识别研究生:三维点云从零开始学习
  14. 海绵宝宝的视频配音怎么制作?简单的小方法来帮忙
  15. 王国维《人间词话》治学经验三境界
  16. source insight 设置窗口滑动条
  17. office卸载后无法重装终极解决办法
  18. 小白学习Spring(二)
  19. 技术总监/技术leader职责与工作记录第一天
  20. 国信证券学习系列(7)

热门文章

  1. 泰坦尼克号数据集_机器学习(入门)--Kaggle项目之泰坦尼克号
  2. oracle 授权 增删改查权限_linux suid,sgid,sticky-bit三种特殊权限简介
  3. php preg_match 只匹配第一个字符_PHP正则表达式核心技术完全详解 第12节知识补充 断言匹配
  4. java new string 图_Java中String直接赋字符串和new String的一些问题
  5. java 购物车价格类型_WooCommerce - 为购物车中的每个产品添加自定义价格
  6. linux 隐藏权限,Linux权限位,s权限,t权限,及隐藏权限
  7. Ubuntu解决开机屏幕默认亮度偏低问题
  8. P1505 [国家集训队]旅游 树链剖分
  9. java 注解继承注解_Java注解合并,注解继承
  10. vs中.exe运行闪退的解决办法