一、一个简单的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. log4j.properties加入内容

    log4j.rootLogger=INFO, stdout log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender. ...

  2. 桂林理工大学第十届java程序设计初试竞赛试题

    原创 三.程序设计题(不得改变已经给出的部分,允许添加新的辅助函数或类)(共36分) (6分)1.以下函数的功能是判断一个正整数是否为质数,若是返回true,否则返回false.其中参数data为要判 ...

  3. 简单介绍Java的静态分派和动态分派

    最近复习JVM的知识,对于静态分派和动态分派的理解有点混乱,于是自己尝试写写代码,在分析中巩固知识. 有如下一段代码,请问每一段分别输出什么? package com.khlin.my.test; c ...

  4. [转载].NET Web开发技术(补充)

    大家在工作应该养成善于总结的习惯,总结你所学习.使用的技术,总结你所工作事项的比较好的地方,善于总结不断的沉淀优化自己.适时停下来总结下过去走过的路,才能让我们的未来走的更坚定.文章转自JamesLi ...

  5. Hadoop 基础概念

    Hadoop就是一个实现了Google云计算系统的开源系统,包括并行计算模型Map/Reduce,分布式文件系统HDFS,以及分布式数据库Hbase,同时Hadoop的相关项目也很丰富,包括ZooKe ...

  6. Windows上传文件到linux 使用winscp

    Windows上传文件到linux 使用winscp, winscp下载目录 https://sourceforge.net/projects/winscp/postdownload?source=d ...

  7. nexus3

    Maven 介绍 Apache Maven 是一个创新的软件项目管理和综合工具. Maven 提供了一个基于项目对象模型(POM)文件的新概念来管理项目的构建,可以从一个中心资料片管理项目构建,报告和 ...

  8. 算法 UVA 11729

     例2:假设当前小光有n个部下,每个部下需要完成一项任务.第i个部下需要小光花Bi分钟交代任务,然后他会立刻独立地.无间断地执行Ji分钟后完成任务.小光需要选择交代任务的顺序,使得所有任务尽早执行完毕 ...

  9. c++实验3 链式存储线性表

    1.线性表链式存储结构及基本操作算法实现 (1)单链表存储结构类的定义: #include <iostream> using namespace std; template <cla ...

  10. Windows下Oracle的下载与安装及配置

    一.Oracle下载 官网地址:http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html 百 ...