zoukankan      html  css  js  c++  java
  • JUnit4在复利计算器中的应用

    mvc,在我的程序中,m是Util.java(用来存储传输的数据),v是index.jsp,c是Servlet.java

    我在输入界面就已经对用户输入数据时,进行了检测其输入是否合法,不符合要求并提示其重新输入,如下图:

    先对输入数据检测,并提示修改,在点击“得到答案”时,通过弹框对其拦截,确保数据安全。

    所以,我的用于计算的javabean并没有对传入数据的检测盒排错功能,因为传入的数据是安全的,当然也要对其进行相应的检测。

    复利计算器的计算功能,我是在CalculatorBean中实现的。

    主要的方法是:public String calculate(String numP,String numI,String numN,String numF,String way);

    /*
    * 方法原型:CalculatorBean.calculate(numP, numI, numN, numF, way)
    * numP是本金
    * numI是年利率
    * numN是存入年限
    * numF是终值
    * way 是指计算方法,知3求1。。。。。1是求终值 0是求本金 2是求年利率 3是求年限
    * return 所求项的答案
    * */

    JUnit单元测试工具的运用:

     1 @Test
     2     //对正常情况的检测
     3     //不会抛出任何异常
     4     public void testCalculate(){
     5         CalculatorBean c=new CalculatorBean();
     6         int answer=Integer.valueOf(c.calculate("1", "2", "3", "", "1"));
     7         assertThat(answer,is(27));
     8     }
     9     
    10     @Test (expected=java.lang.NumberFormatException.class)
    11     //对没输入情况的检测
    12     //抛出NumberFormatException,数字格式异常
    13     public void testCalculate1(){
    14         CalculatorBean c=new CalculatorBean();
    15         int answer0=Integer.valueOf(c.calculate("", "2","3", "27","1"));
    16         int answer1=Integer.valueOf(c.calculate("1", "", "3", "", "1"));
    17         int answer2=Integer.valueOf(c.calculate("", "2", "", "", "1"));
    18         int answer3=Integer.valueOf(c.calculate("1", "2", "", "", "1"));
    19         assertThat(answer0,is(27));
    20         assertThat(answer1,is(27));
    21         assertThat(answer2,is(27));
    22         assertThat(answer3,is(27));
    23     }
    24 
    25     @Test (expected=java.lang.NullPointerException.class)
    26     //对没输入情况的检测
    27     //抛出NullPointerException,空指针异常
    28     public void testCalculate2(){
    29         CalculatorBean c=new CalculatorBean();
    30         int answer0=Integer.valueOf(c.calculate(null, "2", "3", "", "1"));
    31         int answer1=Integer.valueOf(c.calculate("1", null, "3", "", "1"));
    32         int answer2=Integer.valueOf(c.calculate("1", "2", null, "", "1"));
    33         int answer3=Integer.valueOf(c.calculate("1", "2", "3", "", null));
    34         int answer4=Integer.valueOf(c.calculate("1", "2", "3", null, "1"));
    35         assertThat(answer0,is(27));
    36         assertThat(answer1,is(27));
    37         assertThat(answer2,is(27));
    38         assertThat(answer3,is(27));
    39         assertThat(answer4,is(27));
    40     }

     测试结果:和预测结果一致!

      

  • 相关阅读:
    div弹出层
    经典SQL语句
    sql连接及操作
    给flash加上连接
    在c#中图片原比例缩放
    悬浮提示筐
    拖动板块
    IFrame自适应高度
    SQL语句中的日期计算
    注意Request.Cookies["UserID"]的用法
  • 原文地址:https://www.cnblogs.com/huangmp1024/p/5329414.html
Copyright © 2011-2022 走看看