20145107 《Java程序设计》第二次实验报告
2016-04-16 18:01
381 查看
实验内容与体会:
在本次试验中,我们进行了单元测试的学习,我用的是
eclipse+Windows的形式,通过一些基本的单元测试完成了本次的实验。
在实验的一开始:要想对某个程序进行单元测试,我们先是在eclipse中建立了一个新的项目,项目的名字是TDDDmeo。并在这个新的项目里右键单击创建一个
source floder:
并将floder的名字命名为test:
在创建好的test处右键单击,进行
junit test case:
它的名字命名如下:
然后一路ok。之后,在src的文件夹里创建一个新的类,类的名字叫做MyUtil,它也就是我们要测试的类。
MyUtil类的代码如下所示:
public class MyUtil{ public static String percentage2fivegrade(int grade){ //如果成绩小于0,转成“错误” if ((grade < 0)) return "错误"; else if (grade < 60) return "不及格"; else if (grade < 70) return "及格"; else if (grade < 80) return "中等"; else if (grade < 90) return "良好"; else if (grade <= 100) return "优秀"; else return "错误"; } }
同样的道理,在生成的test包里创建一个新的类,它的名字叫做MyUtilTest,我们就是要用这个类对MyUtil进行测试。
代码如下:
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)); } }
接下来,我们要对MyUtil类进行测试,相应执行方法如下:
如果测试失败,在程序的左上方就会出现一个红条,证明程序出现了问题。后来发现,是不及格分数定义那里出现了问题:
将上面红框哪里的分数改为60,再运行一遍那个程序,就会出现绿条,证明程序测试成功了:
本章程序练习:
本章的练习题是编写一个复数类。在这里我编写了一个实现复数类运算的简单程序,并按照实验要求编写了测试代码:
伪代码:
Complex类要输出实部,输出虚部,并按照a+bi的形式输出复数。 Complex类中有两个变量,实部RealPart和虚部ImaginaryPart。
实现复数类的产品代码:
public class complex { //实部realpart,虚部imaginPart private double realPart; private double imaginPart; //复数类Complex()构造函数,将实部虚部都置为0 public complex(){ this.realPart = 0; this.imaginPart = 0; } //Complex(double r,double i)创建复数对象的同时完成复数的实部,虚部的初始化 public complex(double r,double i){ this.realPart = r; this.imaginPart = i; } //getRealPart()获取实部 public double getRealPart(){ return realPart; } //getImaginaryPart()获取虚部 public double getImaginaryPart(){ return imaginPart; } //setRealPart(double d)设置实部 public void setRealPart(double d){ this.realPart = d; } //setImaginaryPart(double d)设置虚部 public void setImaginaryPart(double d){ this.imaginPart = d; } //add(Complex c)复数相加 public void add(complex c1,complex c2){ complex c = new complex(c1.realPart+c2.realPart,c1.imaginPart+c2.imaginPart); print(c); } //minus(Complex c)复数相减 public void minus(complex c1,complex c2){ complex c = new complex(c1.realPart-c2.realPart,c1.imaginPart-c2.imaginPart); print(c); } //ComplexMulti(Complex c)复数相乘 public void ComplexMulti(complex c1,complex c2){ complex c = new complex(c1.realPart*c2.realPart-c1.imaginPart*c2.imaginPart,c1.realPart*c2.imaginPart+c1.imaginPart*c2.realPart); print(c); } //toString()把当前复数对象的实部,虚部组合成a+bi的字符串形式 public void print(complex c){ double a = c.realPart; double b = c.imaginPart; System.out.println(a+"+"+b+"i"); } }
测试这个类的代码是:
import org.junit.Test; import junit.framework.TestCase; public class complextest extends complex { @Test public void printTest(){ complex c1 = new complex(3.5,9); complex c2 = new complex(9,23); complex c = new complex(); c.ComplexMulti(c2, c1); c.add(c1, c2); c.minus(c1, c2); } }
代码编好后,在eclipse上运用TDD模式测试一下代码,出现了绿条:
证明程序测试成功了。代码是比较完善的。
实验感想总结:
在本次试验中,我们学习了Java代码的单元测试,知道了怎样去编写出更完整的代码,在不断地单元测试改进中,代码的稳定性越来越高,这也是成为优秀的程序员的必经之路。
相关文章推荐
- 简单Java 多表联查分页显示(初)
- 20145107 《Java程序设计》第七周学习总结
- Ubuntu 14.04 eclipse 提示框背景色更改
- Java_oop_继承
- 20145304 Java第七周学习报告
- spring + myBatis 常见错误:@Autowired注解失败
- Java-单机版的书店管理系统(练习设计模块和思想_系列 六 )
- Java-单机版的书店管理系统(练习设计模块和思想_系列 六 )
- java web 分页实现的补充
- JAVA第五次作业
- com.domain.*_$$_javassist_6 cannot be cast to javassist.util.proxy.Proxy问题
- Java操作MySQL数据库示例
- Java对象的序列化和反序列化
- java基础(2)--java.lang.ThreadLocal类的用法
- java 学习笔记(1)String
- Java基本数据类型
- java泛型II-泛型中存在的约束与局限性
- Java发送邮件程序
- Java中的运算符
- java引用说明:java强引用、软引用、弱引用、虚引用