一、一个简单的Junit测试流程:

  1、在项目中导入junit-4.7.jar包,

    方法:右击项目,选择Build Path->Configure Build Path->Libraries->Add External JARS,选择junit-4.7.jar包的位置,导入。

    注:如果想看junit的源代码,导入时一并将junit-4.7-src.jar这个源文件包一起导入即可。

  2、写一个类,如在类中加入两个最简单的加减法的方法。

    如:

      public class JunitDemo {
        public int add(int x,int y){
          int z = x+y;
          return z;
        }
        public int subtraction(int x,int y){
          int z = x-y;
          return z;
        }

      }

    新建一个Junit测试类,方法:新建一个文件,类型为Junit Test Case,命名时最好是被测的类名+test,如JunitDemoTest

  3、创建好junit测试类后,对每个需要测试的方法测试,如:

    

    public class JunitDemoTest {

      @Test
      public void testAdd() {
      int z = new JunitDemo().add(2, 3);
      assertEquals(5, z);
      }
      @Test
      public void testSubtraction(){
      JunitDemo jd = new JunitDemo();
      int z = jd.subtraction(5, 2);
      assertEquals(3, z);
      }

    }

  4、右击junit测试类,选择以junit的方式来运行,之后即可看见测试结果。

二、Junit中的Annotation

  @Test  public void method()    定义一个要测试的方法

  @Before public void method()    在每一个测试之间都会被执行的方法,这个方法常用来进行一些测试环境的准备。

                     如:读入输入数据、初始化类等

  @After public void method()    与@Before进行对应,做一个清理工作

  @BeforeClass public static void method()  在所有的测试开始之前执行,这个方法在类运行的时候运行,而且只运行一次。

                     所有常用来做一些所有方法都要依赖到的工作,如:数据库的链接

  @AfterClass public static void method()     与@BeforeClass进行对应,做一些类级别的清理工作

  @Ignore               表示方法是被忽略的,这个方法非常实用,比如方法已经修改,但是对应的测试

                     方法还没有得到一致的修改的时候,可以用这个关键词忽略这个方法

  @Test(expected==IIIegalArgumentException)  检查测试方法是不是抛出了相对应的异常

  @Test(timeout=100)        如果方法的执行操作所消耗的毫秒数>100MS,那么方法失败

三、Junit单元测试用例的执行顺序:

  @BeforeClass->@Before->@Test->@After->@AfterClass

  注:每一个测试方法的调用顺序为:

  @Before->@Test->@After

四、最重要的断言Assert,断言这里的方法太多,举几个例子好了,其他的自行查看API

  assertEquals("message",A,B):检查A和B是否有相同的内容

  assertSame("message",A,B):检查A和B是否是同一个对象

  assertTrue("message",A):检查A条件是否为真

  

JUnit快速入门的更多相关文章

  1. 【Java】Junit快速入门

    Junit介绍 JUnit是一个Java语言的单元测试框架.它由Kent Beck和Erich Gamma建立,逐渐成为源于Kent Beck的sUnit的xUnit家族中最为成功的一个. JUnit ...

  2. SpringMvc_快速入门,深入分析

    目录  一.前言二.spring mvc 核心类与接口三.spring mvc 核心流程图 四.spring mvc DispatcherServlet说明 五.spring mvc 父子上下文的说明 ...

  3. Spring MVC 教程,快速入门,深入分析

    http://elf8848.iteye.com/blog/875830/ Spring MVC 教程,快速入门,深入分析 博客分类: SPRING Spring MVC 教程快速入门  资源下载: ...

  4. Spring_MVC_教程_快速入门_深入分析

    Spring MVC 教程,快速入门,深入分析 博客分类: SPRING Spring MVC 教程快速入门  资源下载: Spring_MVC_教程_快速入门_深入分析V1.1.pdf Spring ...

  5. Redis 快速入门

    Redis 快速入门 谈到Redis,大家应该都不陌生.它是用c语言开发的一个高性能键值数据库,主要用于缓存领域.本章通过Redis的安装,Redis的五大数据类型,Redis的Java客户端,Red ...

  6. Mybatis3 快速入门

    Mybatis3 快速入门 目前常见的持久层java框架有Hibernate,Mybatis,SpringData.笔者比较喜欢用SpringData.Hibernate 和 Mybatis 也经常用 ...

  7. Maven3 快速入门

    Maven3 快速入门 Maven 是目前大型项目构建的必备知识.本章会通过介绍 Maven 的作用,Maven 的基本语法,以及搭建企业级项目架构来快速入门 Maven .前两部分是理论知识只需要了 ...

  8. SpringData 基于SpringBoot快速入门

    SpringData 基于SpringBoot快速入门 本章通过学习SpringData 和SpringBoot 相关知识将面向服务架构(SOA)的单点登录系统(SSO)需要的代码实现.这样可以从实战 ...

  9. Gradle 1.12 翻译——第九章 Groovy快速入门

    由于时间关系,没办法同时做笔记和翻译,关于Gradle的用户指南,本博客不再做相关笔记,而只对未翻译章节进行翻译并在此发表. 有关其他已翻译的章节请关注Github上的项目:https://githu ...

随机推荐

  1. 【微服务架构】SpringCloud之Eureka(注册中心集群篇)(三)

    上一篇讲解了spring注册中心(eureka),但是存在一个单点故障的问题,一个注册中心远远无法满足实际的生产环境,那么我们需要多个注册中心进行集群,达到真正的高可用.今天我们实战来搭建一个Eure ...

  2. 使用ffmpeg+crtmpserver搭建文件的伪直播

    Tutorial: How to "live stream" a media file 如何"直播"一个媒体文件 I have tried a while to ...

  3. model.find(options)

    options {Object} 操作选项,会通过 parseOptions 方法解析 return {Promise} 返回单条数据 查询单条数据,返回的数据类型为对象.如果未查询到相关数据,返回值 ...

  4. CentOS 7.2安装gitlab-ce

    国内网络原因,gitlab-ce安装包可以在清华大学开源网站镜像站下载:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ [root@gitlab ~]# ...

  5. MVC4 Action 两种异步方式

    1. xxxAsync/xxxCompleted 组合方式异步,xxxCompleted  就是他的回调函数,在执行完 xxxAsync 后调用xxxCompleted  . 使用 异步方式必须继承A ...

  6. Arcgis Android 坐标转换

    http://spatialreference.org/首先,在上面的网站查出现有的坐标srid,然后查出目标Srid. 参考api 示例代码 Point point = new Point(120. ...

  7. Dev 之 GridControl 列表 显示底部(包括底部统计)

    1.列表 Gridview 显示底部 2 底部增加统计

  8. go iris xorm包使用(sqlite3数据库增删查改)

    官网https://studyiris.com/example/orm/xorm.html例子,稍做修改 1.我是win64,但没有遇到mingw问题,应该是之前安装过gcc环境,参考:测试一下rob ...

  9. javascript点击兼容所有浏览器封装

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  10. 在Python程序中调用Java代码的实现

    <原创不易,转载请标明出处:https://www.cnblogs.com/bandaobudaoweng/p/10785766.html> 前言 开发Python程序,需求中需要用到Ja ...