您的位置:首页 > 编程语言 > Java开发

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代码的单元测试,知道了怎样去编写出更完整的代码,在不断地单元测试改进中,代码的稳定性越来越高,这也是成为优秀的程序员的必经之路。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: