zoukankan      html  css  js  c++  java
  • 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,然后体会。

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

  • 相关阅读:
    HNUSTOJ-1675 Morse Code(DFS+字典序搜索)
    HNUSTOJ-1638 遍地桔子(贪心)
    HNUSTOJ-1521 塔防游戏
    HNUSTOJ-1565 Vampire Numbers(暴力打表)
    HDUSTOJ-1559 Vive la Difference!(简单题)
    HDUSTOJ-1558 Flooring Tiles(反素数)
    HNUSTOJ-1600 BCD时钟
    胡雪岩04
    新概念4-24
    曾国藩家训02
  • 原文地址:https://www.cnblogs.com/jpfss/p/7743852.html
Copyright © 2011-2022 走看看