Junit使用的超简单介绍

Junit使用的超简单介绍

前言:我对Junit了解的并不多,只是今天突然听到有人提到了它,而且现在时间还早,所以我觉得我不妨更一篇关于Junit4的超级超级简单的用法,全当是为了省去看官网demo的时间吧。这里仅仅谈@Test夹具。

一、JUnit超级简介

1 . 官网

http://junit.org 或者 http://junit.org/junit4/
没有比官网更权威的介绍了。
这里写图片描述
上图中的4.12,4.11等是JUnit4的版本。JUnit3是必须继承junit.framework.TestCase类的,而且可能还需要其他一些设置。而JUnit4是不需要的。

2. xUnit

xUnit是一套基于测试驱动开发的测试框架,包括:
1. PythonUnit
2. CppUnit
3. JUnit

二、超简单的使用Demo

和其他人一样,谈到JUnit的demo就喜欢用calculate类,我也不例外来以它为例吧。

1. 编写需要被测试的java类

public class Calculate {

    public int add(int a, int b) {
        return a + b;
    }

    public int substract(int a, int b) {
        return a - b;
    }

    public int multiply(int a, int b) {
        return a * b;
    }

    public int divide(int a, int b) {
        // 这里只是最简单的测试demo,暂不做容错处理
        return a / b;
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

2 . 导入Junit

这里写图片描述
这里写图片描述
这里写图片描述
因为这里以Junit4为例,所以这里选Junit4

3.编写测试类

用来测试Calculate类中的add()方法
这里写图片描述

4. 运行测试类

这里写图片描述

5 . 测试结果分析

这里写图片描述
(1). Runs:表示总共有几个测试方法,已经运行了几个;
(2). Errors:表示抛出异常的测试方法的个数;
(3). Failures:表示失败的测试方法的个数;
(4). 打钩:表示通过测试方法。
(5). 另外有个绿色的进度条表示测试成功,红色的进度条则表示测试失败。
demo的结构:
这里写图片描述

三、完善JUnit

这里稍微规范一下Junit。是基于上述demo的。
1. 在src下新建source Floder取名为test
这里写图片描述
然后将之前的CalculateTest类连同包一起移动到test文件夹下,如下
这里写图片描述
2. 自动添加测试方法
假设现在要测试的类里面有很多方法,总不能一个个的手写这些方法吧,所以可以用用IDE了。使用IDE自动生成测试类。因为将上面的CalculateTest类移动到了test目录下,所以这里IDE自动生成的测试Calculate类的测试类取名叫CalculateAutoTest。
这里写图片描述
其生成步骤如下:
(1). 在被测试的类Calculate上右键new一个JUnit Test Case,如下。
这里写图片描述
这里写图片描述
这里写图片描述
(2). 选择相应要测试的方法
这里写图片描述
然后就可以看到自动生成的相应的测试方法了。
这里写图片描述
(3). 同上右键CalculateAutoTest运行
当然这里还没有具体实现,所以测试会失败的。
3. 几个规范点
(1). 测试方法必须使用@Test注解,并且方法必须是public void,不能带任何参数;
(2). 新建一个Source Folder来存放测试代码,但是测试类的包名和被测试类的必须保持一致;
(3). 测试单元中的每个方法必须可以独立,测试方法之间不能有任何的依赖;
(4). 测试类最好使用Test作为类名的后缀,测试方法最好使用test作为方法名的前缀

四、后记

“测试用例不是用来证明你是对的,而是用来证明你没有错”,自己测试除数为0,以及预计结果不对的情况来看看errors和fails,然后体会。

===========无聊分割线=============
草稿箱的“计算机专业的基本素养”都快发霉了。。。

posted @ 2017-10-27 16:10  星朝  阅读(625)  评论(0编辑  收藏  举报