zoukankan      html  css  js  c++  java
  • java中的单元测试Junit4

    首先就是主要简单的讲一下Junit的使用,属于傻瓜式速成教程,gogogogogogogo!

    一:什么是单元测试:

      我们在编写大型程序的时候,需要写成千上万个方法或函数,这些函数的功能可能很强大,但我们在程序中只用到该函数的一小部分功能,并且经过调试可以确定,这一小部分功能是正确的。但是,我们同时应该确保每一个函数都完全正确,因为如果我们今后如果对程序进行扩展,用到了某个函数的其他功能,而这个功能有bug的话,那绝对是一件非常郁闷的事情。所以说,每编写完一个函数之后,都应该对这个函数的方方面面进行测试,这样的测试我们称之为单元测试。传统的编程方式,进行单元测试是一件很麻烦的事情,你要重新写另外一个程序,在该程序中调用你需要测试的方法,并且仔细观察运行结果,看看是否有错。这样的话太过于麻烦了,本文简要介绍一下在Eclipse中使用JUnit4进行单元测试的方法。用更加通俗的话来描述单元测试就是:写了个类,要给别人用,会不会有bug怎么办?测试一下。main方法测试好不好?这种方法我们经常用,就是写一个方法实现一些功能,把方法的调用方式放在main函数中。这样的测试方式一个是使得main函数太过于混乱,再者测试过程需要人的仔细观察来辨别每个函数的功能实现,哪一个函数出错了,哪一个函数没有输出之类的问题层出不穷,单元测试就是来解决这些问题的。下面我会就单元测试的每一步给出详细的图解和描述

    二:进行单元测试:

      首先我先创建一个就是一个简单的计算机类,里面就写一个加除的方法;

     

     1 package junit;
     2 
     3 public class Reckon {//一个计算类
     4 
     5         //简单的实现两个计算方法
     6     public int add(int num1,int num2){
     7         return num1+num2;
     8     }
     9     
    10     public int divide(int num1,int num2){
    11         return num1/num2;
    12     }
    13     
    14     public static void main(String[] args) {
    15         //传统的把方法的调用方式放在main函数中测试运行
    16         int num=new Reckon().add(1, 2);
    17         System.out.println(num);
    18     }
    19 }

      下面进行单元测试:

      右键新建:选择junit Test Case

    接着next,出现下面的画面,用junit4,在下面选择要测试的类,给这个测试类起一个名字。

     

    点击next出现下面的画面,这是选择要测试的方法;

    点击finish,添加jar包;

    这一步提示我们是否将我们需要的JUnit 4的相关包加入到我们项目的ClassPath路径下,点击OK就行,因为Eclipse中包含JUnit的jar包。

     做完上面的会自动生成这样一个测试类;

      

     1 package junit;
     2 
     3 import static org.junit.Assert.*;
     4 
     5 import org.junit.Test;
     6 
     7 public class Reckon_Test {
     8 
     9     @Test
    10     public void testAdd() {
    11         fail("Not yet implemented");
    12     }
    13 
    14     @Test
    15     public void testDivide() {
    16         fail("Not yet implemented");
    17     }
    18 
    19 }

    Test注解表示这是个测试方法;

    修改里面的方法:

      

     1 package junit;
     2 
     3 import static org.junit.Assert.*;
     4 
     5 import org.junit.Test;
     6 
     7 public class Reckon_Test {
     8 
     9     @Test
    10     public void testAdd() {
    11         int z=new Reckon().add(2, 8);
    12         assertEquals(10,z);//判断得到的z是不是10也就是正确的答案
    13     }
    14 
    15     @Test
    16     public void testDivide() {
    17         int z=new Reckon().divide(8, 2);
    18         System.out.println(z);
    19     }
    20 
    21 }

      右键选择Junit Test 运行

      绿色代表测试成功,其中Error:程序出错       Failures:测试失败

     如果我们把除数修改为零,则会出现数学异常

    常用的方法:

      

  • 相关阅读:
    vue-cil和webpack中本地静态图片的路径问题解决方案
    vue-cil 中的配置分析
    webpack中mainifest.js vendor.js app.js 三者的区别
    css 中可以继承的属性
    有关正则表达式的Js方法(replace)
    css 常用的几种垂直居中(包括图片)
    如何在Vue中建立全局引用或者全局命令
    删除数组中多个不连续的数组元素的正确姿势
    数据库
    代码片段
  • 原文地址:https://www.cnblogs.com/GH0522/p/8392143.html
Copyright © 2011-2022 走看看