测试要求:

对我们和复利计算程序,写单元测试。

有哪些场景?

期待的返回值

写测试程序

运行测试

场景演示

1. 结果是否正确?

2. 数值为空是怎么办?

3.输入负数是否准确?

4.是否满足性能要求?

场景1. 结果是否正确?

功能 数据名称 具体数据 期待值
单利计算 本金,项目利率,年限,终值 100,0.05,1,105 true
-100,0.05,1,105 false
复利计算 本金,项目利率,年限,复利次数,终值 100,0.05,1,1,105 true
-100,0.05,1,1,105 false
本金估算 项目利率,年限,复利次数,终值,本金 0.05,1,1,105,100 true
0.05,1,1,-105,100 false
。。。      
     

结果:

代码如下:

package com.Junit.test;import static org.junit.Assert.*;
import interest.BestProject;
import interest.CompoundInterrest;
import interest.InterestTime;
import interest.PeriodicIncome;
import interest.Principal;
import interest.Refund;
import interest.SingleInterest;public class Test {@org.junit.Testpublic void testCompoundInterrest() {double f = new CompoundInterrest("0.05","100.0","1","1").Interrest();assertEquals(105, (int)f);}@org.junit.Testpublic void testSingleInterest() {double f = new SingleInterest("0.05","100.0","1").Interest();assertEquals(105, (int)f);}@org.junit.Testpublic void testInterestTime() {int t = new InterestTime("0.05","100.0","105.0","1").Interrest();assertEquals(1, t);}@org.junit.Testpublic void testPeriodicIncome() {double f = new PeriodicIncome("0.01","100","1").Interrest();assertEquals(101, (int)f);}@org.junit.Testpublic void testPrincipal () {double f = new Principal("0.05","105.0","1","1").Interrest();assertEquals(100, (int)f);}@org.junit.Testpublic void testBestProject () {double f = new BestProject("200","100","1","1").Interrest();assertEquals(1, (int)f);}@org.junit.Testpublic void testRefund () {double f = new Refund("0.87","1200","3").Interrest();assertEquals(94, (int)f);}}

场景2. 数值为空是怎么办?

场景图如下:

数值为空时,场景图如下:

代码如下:

if(jt1.getText().trim().equals("") || jt2.getText().trim().equals("") ||jt3.getText().trim().equals("") ){JOptionPane jo = new JOptionPane();jo.showMessageDialog(null,"请输入数值!");}    else {System.out.print("22222222222");interest ();}

本产品由本人与同伴一起完成!

心得感悟

在写程序的时候出现了许多错误,但都通过上网查找资料和与同伴商量解决了。同时在使用单元测试的时候也深深的感受到了单元测试检测程序的方便性,大大降低了程序员测试的工作量,提高了工作的效率!

详细代码:https://github.com/hanqilin/interest

转载于:https://www.cnblogs.com/hanqilin/p/5335115.html

0329 单元测试:复利计算器 (组员:韩麒麟 列志华)相关推荐

  1. 0406 复利计算器--结对 组员 韩麒麟 列志华

    一.主要功能与需求分析 1.本金为100万,利率或者投资回报率为3%,投资年限为30年,那么,30年后所获得的利息收入:按复利计算公式来计算就是:1,000,000×(1+3%)^30 2.如果按照单 ...

  2. 0414 结对--软件再升级(韩麒麟 列志华)

    复利计算再升级------------------------------------------------------------ 客户在大家的引导下,有了更多的想法: 这个数据我经常会填.... ...

  3. 0329 复利计算器5.0 Juint单元测试 组员 254列志华 253韩麒麟

    0329 复利计算器5.0 Juint单元测试 组员 254列志华 253韩麒麟 一.主要功能与需求分析 1.本金为100万,利率或者投资回报率为3%,投资年限为30年,那么,30年后所获得的利息收入 ...

  4. 0406复利计算6.0 结对:列志华,韩麒麟

    0406复利计算6.0 结对:列志华,韩麒麟 一.主要功能与需求分析 1.本金为100万,利率或者投资回报率为3%,投资年限为30年,那么,30年后所获得的利息收入:按复利计算公式来计算就是:1,00 ...

  5. 计算机junit测试类,复利计算器4.0之再遇JUnit

    复利计算器4.0之再遇JUnit 前言 虽然之前的复利计算器版本已经尝试过使用JUnit单元测试,但由于没有系统性地学习过JUnit的使用,用得并不好,主要问题表现在测试的场景太少,并没有达到测试所需 ...

  6. 复利计算器app发布

    复利计算器app发布 抱歉:由于无法实现服务端的持续开启,发布的app仅为简单的单机版,暂时舍弃了c/s版本的一些功能,如:投资动态管理功能. 应用详情博客:请点击这里 apk下载地址1(百度手机助手 ...

  7. Labview项目---制作复利计算器

    Compound Interest Calculator 项目介绍 Front Panel Block Diagram Sub VI Block Diagram设计说明 使用方法 项目介绍 本文章的解 ...

  8. python复利计算_如何让Python复利计算器给出正确的答案

    早前曾发布过一个关于错误的问题.多亏了这里的几个人,我才解决了这个问题.现在我遇到了我的复利计算器的问题,当你输入本金.复利(年.月等).利率(0.03等)和年数时,计算错误. 其他Q链接:final ...

  9. 对复利计算器和股票投资的总结

    这两次的实验都是用eclipse工具.java语言来写的,编写复利计算器时一共写了70行代码, 在复利计算器的基础上再进行修改和增加功能,最后得到的股票投资程序一共是82行代码. 编写复利计算器时预计 ...

最新文章

  1. 大话:边缘计算、雾计算、云计算
  2. openssl 编译参数选项
  3. 【转】应用架构之道:分离业务逻辑和技术细节
  4. mysql编译安装root密码_MySQL 5.7.11编译安装以及修改root密码小结
  5. C#中类的默认访问是私有的
  6. Node.js 学习笔记(三)
  7. Android复习强化笔记(二)
  8. php获取微信uninoid_微信公众号如何根据unionid获取到openid?
  9. 低压电力线宽带载波通信互联互通技术规范第4-2部分:数据链路层通信协议
  10. vc707(virtex7)FLASH下载实验
  11. Python网络爬虫(二):小说下载器
  12. 转载:王垠 的《完全用Linux工作》
  13. 苹果youtube无法连接网络_当手机无信号或者无法连接网络时的正确解决步骤
  14. 统计假设检验中的P值及置信区间理解
  15. [BZOJ3238] [AHOI2013] 差异 - 后缀自动机
  16. UNIX 是什么?怎么诞生的?
  17. Java SE Development Kit 9.0.4 的下载安装及配置
  18. 励志故事之俞敏洪的四瓶水
  19. C#生成微信小程序文章二维码
  20. 三友硅业基于Lora+IBeacon定位技术下的化工厂人员定位解决方案-化工厂定位-新导智能

热门文章

  1. ZZNUOJ_C语言1073:画个圈圈诅咒你(完整代码)
  2. 双微信,分享发生TransactionTooLargeException 异常,记录
  3. Linux的NAT如何处理ICMP这类带外信息
  4. 销售拜访客户前准备什么?
  5. Linux git版本管理的使用/git教程
  6. 彻底搞懂JS事件循环机制(event loop)
  7. win10右键新建菜单响应缓慢
  8. 分布式事务,再说说解决方案
  9. python 去除不可见字符\u200b 方法收集
  10. 加密数据如何进行模糊查询