zoukankan      html  css  js  c++  java
  • JUnit 4 单元测试

    https://github.com/heartgo/test

    源代码:

    public class qiuhe
    {
    public int sum() {

    int a=1,sum=0;
    while(a<=100){sum=sum+a;
    a=a+1;}
    System.out.println("1~100的和是"+sum);
    return sum;
    }

    public static void main(String args[])
    {
    new qiuhe().sum();
    }
    }

    运行结果:

    测试步骤:

    具体做法:Build Path -> Config Build Path ... -> Add Libraries ... 选中JUnit Next-> 选择JUnit 4 Finished 

    创建测试用例  

     new -> Java Test Case  Name:CalcFunctionTest Next-> 选择要测试的方法 ->finished

    自动生成一个测试类CalcFunctionTest,里面包含一些空的测试用例,@Test 注解的。只需要将这些测试用例稍作修改即可使用。

    测试代码:

    import static org.junit.Assert.*;

    import org.junit.Test;


    public class qiuheTest {
    qiuhe qiuhe = new qiuhe();

    @Test
    public void testSum() {
    assertEquals(5050, qiuhe.sum());
    }

    }

    测试结果如图:

    总结:

      经过对JUnit 的了解,简单对之前写的计算器代码做个测试,收获颇丰:知道了用Junit进行单元测试很方便,尤其是Junit4引入了很多Annotation注解以后。

    Junit优点:

    junit是在极限编程和重构(refactor)中被极力推荐使用的工具,因为在实现自动单元测试的情况下可以大大的提高开发的效率,但是实际上编写测试代码也是需要耗费很多的时间和精力的,那么使用这个东东好处到底在哪里呢?笔者认为是这样的:
    极限编程
    要求在编写代码之前先写测试,这样可以强制你在写代码之前好好的思考代码(方法)的功能和逻辑,否则编写的代码很不稳定,那么你需要同时维护测试代码和实际代码,这个工作量就会大大增加。因此在极限编程中,基本过程是这样的:构思-> 编写测试代码-> 编写代码-> 测试,而且编写测试和编写代码都是增量式的,写一点测一点,在编写以后的代码中如果发现问题可以较快的追踪到问题的原因,减小回归错误的纠错难度。
    重构
    其好处和极限编程中是类似的,因为重构也是要求改一点测一点,减少回归错误造成的时间消耗。
    其他情况
    我们在开发的时候使用junit写一些适当的测试也是有必要的,因为一般我们也是需要编写测试的代码的,可能原来不是使用的junit,如果使用junit,而且针对接口(方法)编写测试代码会减少以后的维护工作,例如以后对方法内部的修改(这个就是相当于重构的工作了)。另外就是因为junit有断言功能,如果测试结果不通过会告诉我们哪个测试不通过,为什么,而如果是像以前的一般做法是写一些测试代码看其输出结果,然后再由自己来判断结果是否正确,使用junit的好处就是这个结果是否正确的判断是它来完成的,我们只需要看看它告诉我们结果是否正确就可以了,在一般情况下会大大提高效率。
  • 相关阅读:
    docker原理(转)
    HTTP代理(转)
    租房的注意事项
    聊聊常见的网络攻击
    我眼中的 Nginx(一):Nginx 和位运算
    5G网络与4G相比,有什么区别?
    当 “HTTP” 先生遇上“S”小姐
    虎牙直播张波:掘金Nginx日志
    又拍云张聪:OpenResty 动态流控的几种姿势
    一文读懂 HTTP/2 特性
  • 原文地址:https://www.cnblogs.com/GOEASY/p/4486206.html
Copyright © 2011-2022 走看看