• 复利计算4.0-单元测试


    一、初识单元测试

    刚开始接触这个名词时,还以为是老师要给我们测试,后来经老师解释,才知道此测试不是彼测试。所以我上网百度了一下单元测试的含义(如下):

    单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证。对于单元测试中单元的含义,一般来说,要根据实际情况去判定其具体含义,

    如C语言中单元指一个函数,Java里单元指一个类,图形化的软件中可以指一个窗口或一个菜单等。总的来说,单元就是人为规定的最小的被测功能模块。

    单元测试是在软件开发过程中要进行的最低级别的测试活动,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试。

    二、开始测试

    在了解了要做的事是什么之后,接下来就是进行学习操作的时候了。我就在网上看一些关于单元测试的基本简单教程。

    然后我使用了myeclipse里自带的JUnit4包进行测试的,并没有另外去下其他的插件。

    在测试代码中,Assert类起到十分重要的作用。

    下面列举一些Assert的常用方法:

    1.assertEquals([String message],expected,actual):

    用来查看对象中存的值是否是期待的值,与字符串比较中使用的equals()方法类似;

     2.assertFalse([String messag],boolean condition)

    assertTrue([String messag],boolean condition):

    用来查看变量是是否为false或true,如果assertFalse()查看的变量的值是false则

    测试成功,如果是true则失败,assertTrue()与之相反;

    3.assertSame([String message],expected,actual)

    assertNotSame([Spring message],expected,actual):

    用来比较两个对象的引用是否相等和不相等,类似于通过“==”和“!=”比较两个对象;(与equal有区别)

    4.assertNull([String message],java.lang.Object object)

    assertNotNull([String message],java.lang.Object object):

    用来查看对象是否为空和不为空;

    5.fail([String message]):

    意为失败,用来抛出错误。fail()一旦被执行,会立即中止测试,java虚拟机不再执行任

    何别的代码,并且会抛出 junit.framework.AssertionFailedError错误!

    接下来就是对复利计算的一些单元测试

    复利计算求总额

    1.输入正确的值:本金10000,年限3,;利率0.05

    测试结果:

    在设置了允许误差1.0情况下,测试正确

    然后就是对输入数据进行一个限制(本金,年限,利率都不能少于等于0);

    以上源代码就是进一步对输入范围进行控制

    如果输入错误,那么就会报错;

    例如把本金输入-1

    测试结果如下:

    另外还有单利计算、年限、利率等测试,和上面的复利计算求总额的思想大同小异,也是通过测试,一步步地完善自己的代码,

    所以我在此就不一一列举了。

    以下是其他测试的一些结果:

    测试内容 测试输入 预期结果 运行结果
    复利计算 (本金,年限,年利率)    终值
    输入正数 10000,3,0.05 true
    输入负数 -1,3.0.05  false  √
      年限计算  (本金,本利,年利率)    终值
     输入正数  10000,20000,0.05  true
    输入负数  10000,-20000,0.05  false  √
     单利计算  (本金,年限,年利率)    终值
     输入正数 10000,5,0.05  true
    输入负数 -1,5,0.05 false
    ......      

    通过这个单元测试,我从中学到了很多新的知识,了解到一个好的程序是经过怎样的步骤逐步完善起来的,我认为虽然单元测试是比较耗费时间的,

    但它的价值却是不可忽略的,毕竟一个好的程序需要很好的容错性。初次接触单元测试,还是有很多不懂的地方,一切才刚刚开始,以后仍需大量

    的努力去提升自己。

  • 相关阅读:
    Android JSON解析
    相对靠谱的相册、拍照返回选择程序
    android strings.xml转义字符,注意细节解决
    设置progressBar 背景以及进度条
    Android Launcher简易Launcher开发
    android.os.NetworkOnMainThreadException 异常处理
    AspNetPager 多条件分页查询
    无法解析指定对象的 TargetProperty (UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleX)“的异常解决
    DefaultButton Deal with users hitting ENTER on your forms
    Setup SSRS in SharePoint Integrated Mode
  • 原文地址:https://www.cnblogs.com/14fzf/p/5336780.html
Copyright © 2020-2023  润新知