• Java单元测试工具:JUnit4(一)——概述及简单例子


    转自:https://blog.csdn.net/Zen99T/article/details/50561136?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522158819271619724846417283%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=158819271619724846417283&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_v2~rank_v25-2

    (一)JUnit概述及一个简单例子

            看了慕课网的JUnit视频教程:http://www.imooc.com/learn/356,总结笔记。

            这篇笔记记录JUnit的概述,以及一个快速入门的例子。

    1.概述

    1.1 什么是JUnit

            ①JUnit是用于编写可复用测试集的简单框架,是xUnit的一个子集。xUnit是一套基于测试驱动开发的测试框架,有PythonUnit、CppUnit、JUnit等。

            ②Junit测试是程序员测试,即所谓白盒测试,因为程序员知道被测试的软件如何(How)完成功能和完成什么样(What)的功能。

            ③多数Java的开发环境都已经集成了JUnit作为单元测试的工具,比如Eclipse。

    1.2 为什么要使用测试工具

            ①测试框架可以帮助我们对编写的程序进行有目的地测试,帮助我们最大限度地避免代码中的bug,以保证系统的正确性和稳定性。

            ②很多人对自己写的代码,测试时就简单写main,然后sysout输出控制台观察结果。这样非常枯燥繁琐,不规范。缺点:测试方法不能一起运行,测试结果要程序猿自己观察才可以判断程序逻辑是否正确。

            ③JUnit的断言机制,可以直接将我们的预期结果和程序运行的结果进行一个比对,确保对结果的可预知性。

    1.3 相关链接

    JUnit官网:http://junit.org/

    JUnit的jar包下载:https://github.com/junit-team/junit/wiki/Download-and-Install

    2.简单例子快速入门

    2.1 创建简单业务类

            使用Eclipse创建一个项目,导入JUnit相关包,因为eclipse集成了JUnit框架,所以可以直接右键项目,选择Build Path → 点击Add Libraries → 选择JUnit  → 点击Next,选择JUnit版本,然后Finish。(其实也可以下载jar包作为用户库来添加)

            编写一个简单的计算类:Calcuate类

    package jtzen9.util;

    /**

     * 实现加减乘除的简单计算类

     * @author Zen9

     *

     */

    public class Calcuate {

    public int add(int a,int b){

    return a+b;

    }

    public int subtract(int a,int b){

    return a-b;

    }

    public int multiply(int a,int b){

    return a*b;

    }

    public int divide(int a,int b){

    return a/b;

    }

    }

    2.2 创建测试类

            ①右键Calcuate类,new 一个 JUnit Test Case:

            ②弹出的对话框,暂时不做修改,直接点击next:(这样创建的测试类会在同一个包下,暂时不管测试类和业务类的隔离)

            ③勾选要测试的方法,点击Finish:

    2.3 修改生成的测试类代码

            上面步骤生成的测试类只包含测试方法的模板,并没有具体的测试细节,修改成如下:(其中有比较多的重复代码,暂时不管;并将减法的测试设为有问题)

    package jtzen9.util;

    import org.junit.Assert;

    import org.junit.Test;

    public class CalcuateTest {

    Calcuate calcuate;

    @Test

    public void testAdd() {

    calcuate = new Calcuate();

    int result = calcuate.add(2, 3);

    Assert.assertEquals("加法有问题", 5, result);

    /*

    * "加法有问题":期望值和实际值不一致时,显示的信息

    * 5 :期望值

    * result :实际值

    */

    }

    @Test

    public void testSubtract() {

    calcuate = new Calcuate();

    int result = calcuate.subtract(12, 2); 

    Assert.assertEquals("减法有问题", 10000, result); //故意设置减法期望值为10000

    }

    @Test

    public void testMultiply() {

    calcuate = new Calcuate();

    int result = calcuate.multiply(2, 3);

    Assert.assertEquals("乘法有问题", 6, result);

    }

    @Test

    public void testDivide() {

    calcuate = new Calcuate();

    int result = calcuate.divide(6, 3);

    Assert.assertEquals("除法有问题", 2, result);

    }

    }

    2.4 运行结果

            右键测试类,选择Run As , JUnit Test,结果如下:

            总共有4个测试方法,运行了4个方法;其中failures有1个,即有一个方法的输出结果跟我们的预期不一样。

    Java单元测试工具:JUnit4(一)——概述及简单例子
    ————————————————版权声明:本文为CSDN博主「添仔哥哥」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/Zen99T/java/article/details/50561136

  • 相关阅读:
    Java学习笔记(三)——运算符
    [镜像]镜像操作losetup
    [DNS]部署局域网DNS服务器
    [3G/4G]3G/4G模块开发
    [4G]常用AT指令
    [ubuntu]E: The package firmware-upgrade needs to be reinstalled, but I can't find an archive for it.
    [mmc]Linux下MMC/SD/SDIO的识别与操作
    [MMC]Linux MMC/SD/SDIO驱动分析
    [mmc]设备树节点含义
    [uboot]What is MLO file?
  • 原文地址:https://www.cnblogs.com/sharpest/p/12806480.html
Copyright © 2020-2023  润新知