java实验报告二_java实验报告二

一、实验内容

1. 初步掌握单元测试和TDD

2. 理解并掌握面向对象三要素:封装、继承、多态

3. 初步掌握UML建模

4. 熟悉S.O.L.I.D原则

5. 了解设计模式

二、实验步骤

(一)单元测试

(1) 三种代码

用程序解决问题时,要会写三种码:伪代码、产品代码、测试代码

我们通过一个例子说明如何写这三种代码。

需求:我们要在一个MyUtil类中解决一个百分制成绩转成“优、良、中、及格、不及格”五级制成绩的功能。

1.我们可以通过伪代码这样解决:

百分制转五分制:

如果成绩小于60,转成“不及格”

如果成绩在60与70之间,转成“及格”

如果成绩在70与80之间,转成“中等”

如果成绩在80与90之间,转成“良好”

如果成绩在90与100之间,转成“优秀”

其他,转成“错误”

2.产品代码:翻译好的MyUtil.java如下:

public class MyUtil{

public static String percentage2fivegrade(int grade){

//如果成绩小于60,转成“不及格”

if (grade < 60)

return "不及格";

//如果成绩在60与70之间,转成“及格”

else if (grade < 70)

return "及格";

//如果成绩在70与80之间,转成“中等”

else if (grade < 80)

return "中等";

//如果成绩在80与90之间,转成“良好”

else if (grade < 90)

return "良好";

//如果成绩在90与100之间,转成“优秀”

else if (grade < 100)

return "优秀";

//其他,转成“错误”

else

return "错误";

}

}

3.测试代码:MyUtilTest.java的测试模块,代码如下:

public class MyUtilTest {

public static void main(String[] args) {

// 百分制成绩是50时应该返回五级制的“不及格”

if(MyUtil.percentage2fivegrade(50) != "不及格")

System.out.println("test failed!");

else

System.out.println("test passed!");

}

}

(2) TDD(Test Driven Devlopment, 测试驱动开发)

先写测试代码,然后再写产品代码,从而写出来的代码就是正确的。

这种先写测试代码,然后再写产品代码的开发方法叫“测试驱动开发”(TDD)。TDD的一般步骤如下:

明确当前要完成的功能,记录成一个测试列表

快速完成编写针对此功能的测试用例

测试代码编译不通过(没产品代码呢)

编写产品代码

测试通过

对代码进行重构,并保证测试通过(重构下次实验练习)

循环完成所有功能的开发

打开Eclipse,单击File->New->Java Project新建一个TDDDemo的Java项目,如下图:

54af9f59db4ad89706b92b0de9af796e.png

在TDDDemo项目中,把鼠标放到项目名TDDDemo上,单击右键,在弹出的菜单中选定New->Source Folder新建一个测试目录test,如下图:

dfb862fb0ac2104d49a702733a780831.png

f96eddcbe2bcbefdfb0dc7124b51929e.png

50d11f6fe2622c7bee809e8cd7dd8eb5.png

把鼠标放到test目录上,单击右键,在弹出的菜单中选定New->JUnit Test Case新建一个测试用例类MyUtilTest,如下图:

659f4b1770c25db9a4b57a1a0a49e7d0.png

1cd354c398c6166ed6997ef8dd67796a.png

f7e8bdd81d2ef00bff7109c54cae7d88.png

我们增加第一个测试用例testNormal,注意测试用例前一定要有注解@Test,测试用例方法名任意,输入以下代码:

import org.junit.Test;

import junit.framework.TestCase;

public class MyUtilTest extends TestCase {

@Test

public void testNormal() {

assertEquals("不及格", MyUtil.percentage2fivegrade(55));

assertEquals("及格", MyUtil.percentage2fivegrade(65));

assertEquals("中等", MyUtil.percentage2fivegrade(75));

assertEquals("良好", MyUtil.percentage2fivegrade(85));

assertEquals("优秀", MyUtil.percentage2fivegrade(95));

}

}

输入完毕,Eclipse中如下图所示:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实验一 Java 语言基础 1 一. 实验目的 1 .实验内容 1 三.源程序代码 1 四.实验结果截图 6 五.结果分析 7 实验 面向对象程序设计 8 一.实验目的 8 .实验内容 8 三.源程序代码 8 四.实验结果截图 12 五.结果分析 13 实验三、异常处理程序设计 14 一.实验目的 14 .实验内容 14 三.源程序代码 14 四.实验结果 17 五.结果分析 18 实验四 图形用户界面程序设计 19 一.实验目的 19 .实验内容: 19 三.源程序代码(核心代码) 19 四.程序设计思路 23 五.实验结果及分析 23 六.不足之处 26 实验五 多线程程序设计 27 一.实验目的 27 .实验内容 27 三.源程序代码 27 四.实验结果截图 29 五.结果分析 30 实验六 输入输出流 31 一.实验目的 31 .实验内容: 31 三.源程序代码 31 四.实验结果截图 36 五.结果分析 37 实验七 使用 TCP 协议的 Socket 网络程序设计 38 一.实验目的 38 .实验内容 38 三.核心源代码 39 四.实验结果截图 43 五.结果分析 45 实验八 数据库应用 46 一.实验目的 46 .实验内容 46 三.源程序代码 46 四.实验结果截图 48 五.结果分析 48 附录一:学生信息管理(针对实验四文件操作的改进) 49 一. 目前界面 49 . 改进展示 50 三. 部分代码 53 四. 总结 54 附录:多对多聊天室(实验七扩展) 55 一. 思路 55 . 核心代码 55 三. 截屏展示 58 四. 实验分析 60

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值