一、一个简单的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. Opengl中的GLUT下的回调函数

    void glutDisplayFunc(void (*func)(void)); 注册当前窗口的显示回调函数 参数: func:形为void func()的函数,完成具体的绘制操作 这个函数告诉GL ...

  2. 解决Hbuilder打包的apk文件按手机返回键直接退出软件

    问题描述:Hbuilder打包的app如果点击手机返回键,app会直接退出,返回不了上一页. 写在公共js文件中,每个页面均引入该js,代码如下: document.addEventListener( ...

  3. 从源码角度看Transaction以及如何手工接管Transaction实现高度的自定义化

    一:transaction CUD: 在一个transaction中... transaction: start add.... delete... update... transaction: co ...

  4. 关于Relay的麻烦之处

    问题背景 由于QueryRender是直接将数据塞进Render()里的 handleUpdate = (hasNextPage, xdata) =>{ console.log(3); cons ...

  5. 判断客户端是iOS还是Android,判断是不是在微信浏览器打开

    bool flag = false; string agent = System.Web.HttpContext.Current.Request.UserAgent.ToLower(); string ...

  6. SDOI2010粟粟的书架

    题目传送:https://www.luogu.org/problemnew/show/P2468 这是一个二合一的题目,前50% \(n!=1\)的分数中,我们考虑用动态规划来做. 设\(sum[i] ...

  7. TOMCAT在POST方法提交参数丢失问题

    最近写程序发现post参数接收不到了,jdk,eclipse,jar包,换了多次都不行,后来看到网上一篇文章: 随后设置Tomcat中POST方式提交数据大小: maxPostSize="0 ...

  8. “全栈2019”Java第十一章:标识符

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  9. HDU3183 贪心/RMQ-ST表

    A Magic Lamp Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Tota ...

  10. jquery之链式调用,层级菜单

    一. 链式调用的含义 jquery对象的方法会在执行完后返回这个jquery对象,所有jquery对象的方法可以连起来写: $('#div1') // id为div1的元素 .children('ul ...