2018-2019-2 实验二《Java面向对象程序设计》实验报告

课程:Java2实用教程 班级: 姓名: 学号:
成绩: 指导教师: 实验日期:4月19日
实验密级: 预习程度: 实验时间:
仪器组次: 必修/选修:选修 实验序号:

目录

实验名称:实验二 面向对象程序设计

实验仪器:

名称 型号 数量
PC端 1

实验内容、步骤与体会:


一、实验二 面向对象程序设计-1

参考 http://www.cnblogs.com/rocedu/p/6371315.html#SECUNITTEST
参考http://www.cnblogs.com/rocedu/p/6736847.html
提交最后三个测试用例都通过的截图,截图上要有画图加水印,输入自己的学号。


二、实验二 面向对象程序设计-2

参考 积极主动敲代码,使用JUnit学习Java (http://www.cnblogs.com/rocedu/p/4837092.html)
参考http://www.cnblogs.com/rocedu/p/6736847.html
以 TDD的方式研究学习StringBuffer,提交你的单元测试用例和测试通过的截图,截图要加上学号水印。


三、实验二 面向对象程序设计-3

实验二 Java面向对象程序设计(http://www.cnblogs.com/rocedu/p/4472842.html)
参考http://www.cnblogs.com/rocedu/p/6736847.html
对设计模式示例进行扩充,体会OCP原则和DIP原则的应用,初步理解设计模式
用自己的学号%6进行取余运算,根据结果进行代码扩充:
4: 让系统支持Float类,并在MyDoc类中添加测试代码表明添加正确,提交测试代码和运行结的截图,加上学号水印(学号为20175223,23%6=5;任务为0~5六个任务中的4)


四、实验二 面向对象程序设计-4

提交:单元测试代码和运行成功截图及码云上代码链接,截图要加上学号水印
参考http://www.cnblogs.com/rocedu/p/6736847.html
任务:以TDD的方式开发一个复数类Complex,要求如下:

定义属性并生成getter,setter 定义构造函数 Override Object 定义公有方法:加减乘除
double RealPart; public Complex() public boolean equals(Object obj) Complex ComplexAdd(Complex a)
double ImagePart; public Complex(double R,double I) public String toString() Complex ComplexSub(Complex a)
Complex ComplexMulti(Complex a)
Complex ComplexDiv(Complex a)

五、实验二 面向对象程序设计-5

使用WhiteStarUML对实验二中的代码进行建模,发类图的截图,加上学号水印。
参考http://www.cnblogs.com/rocedu/p/6736847.html
类图中只少两个类。


六、代码链接

码云仓库:YogileOne https://gitee.com/Yogile/YogileOne.git
在 2018-2019-第2学期\Java 程序设计基础 文件夹中。

码云网页链接:javaexam2


实验过程中遇到的问题以及解决方案

1. 问题:junit 无法使用。

image.png

解决方案:

鼠标选中 TestCase ,点击红色灯泡,选择 Create class TestCase ,在窗口中点击 OK 即可。

image.png
image.png

2. 问题:单元测试中,测试方法时报错。

@Test
    public void TestcomplexAdd() throws Exception {
        test0.complexAdd(test1,test2);
        assertEquals("11.0+ 11.0i",test0.toString());
        test0.complexAdd(test3,test4);
        assertEquals("-50.0+ -50.0i",test0.toString());
    }

报错如下

C:\Java\jdk1.8.0_102\bin\java.exe...

java.lang.Exception: No tests found matching Method TestcomplexAdd(ComplexTest) from org.junit.internal.requests.ClassRequest@4edde6e5

	at org.junit.internal.requests.FilterRequest.getRunner(FilterRequest.java:40) <4 internal calls>

Process finished with exit code -1

解决方案:

单元测试中,测试方法时,方法名必须为 小写开头

    public void testcomplexAdd() throws Exception {

3. 注意:

  • (1) 单元测试中,测试方法时,方法前必须有 @Test
  • (2) 要熟练使用 java.unit.Assert 中的方法:assertEquals 等。

体会

单元测试可以通过更简单地方式更方便地进行代码测试,效率极大地提高。


PSP

步骤 耗时 百分比
需求分析 5min 5%
设计 10min 10%
代码实现 35min 35%
测试 40min 40%
分析总结 10min 10%
posted @ 2019-04-19 11:33  Yogile  阅读(241)  评论(0编辑  收藏  举报