一、一个简单的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. Linux删除(清空)正在运行的应用日志文件内容

    在测试环境定位问题时,如果发现日志文件内容太多或太大,有时需要删除该日志,如Tomcat,Nginx日志.以前每次都是先rm -rf ***.log,然后重启应用.直到后来发现了以下命令,原来可以不用 ...

  2. struts2的validate输入验证

    原创 struts2的输入验证有两种方式: 使用validate()方法实现验证 使用验证文件实现验证 下面通过一个例子介绍validate()方法验证——实现客户注册输入验证 设计的JSP页面代码: ...

  3. delphi7的adoconnection控件连接不上

    delphi时选择以{以管理员身份运行 }即可

  4. java(一)IntelliJ和eclipse环境下的Hello World

    1. IntelliJ环境下的Hello World 1. 启动IntelliJ IDE,选择File->New->Project 选择Java如果没有出现Project SDK,则选择N ...

  5. PMBOK项目管理PMI主义\IPMA概述

    PMP(Project Management Professional)指项目管理专业人士资格认证,是美国项目管理协会(Project Management Institute,PMI)在全球180多 ...

  6. SELinux导致无法访问外网,PHP连接MySQL异常Can't connect to MySQL server、redis程序访问提示Redis server went away的解决方法

    今天上班遇到的问题,新配的Linux服务器,php.Apache和一系列扩展插件装好后,在本地好好的程序移上去就一直抱数据库连接错误,而用sql命令却能连接上去, 做了一个简单的判断数据库连接页面还是 ...

  7. Oracle导出导入数据

    Oracle数据导入导出imp/exp就相当与oracle数据还原与备份, 利用这个功能你可以构建俩个相同的数据库,一个用来测试,一个用来正式使用. 可以在SQLPLUS.EXE或者DOS(命令行)中 ...

  8. redis删除指定前缀的缓存

    redis作为缓存服务器为MySQL数据库提供较高的防御性,对于一些数据的查询可以直接从缓存中可以进行查询. 但是,某些情况下,我们需要清除缓存. 以下场景: 公司经常做活动,每个活动都存在大量的数据 ...

  9. php 中将完整的年月日时分秒的时间转换成 年月日的形式

    strtotime() 函数将任何英文文本的日期或时间描述解析为 Unix 时间戳(自 January 1 1970 00:00:00 GMT 起的秒数), 将完整的时间格式转换成时间撮的形式,再去进 ...

  10. Ionic2的CLI的命令行

    http://blog.csdn.net/qq_33315185/article/details/68067747 在我们开发Ionic app的时候 CLI 是一个非常重要的工具.CLI包含了很多开 ...