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

JAVA编程基础(五)工程-包-类-属性-方法-单元测试用例

2016-10-21 16:51 441 查看
上一节单元测试的答案:

1. c 2. b 3. b 4. d

5.

package com.makotojava.intro;

public class Person {
private String name;
private int age;
private int height;
private int weight;
private String eyeColor;
private String gender;

public String getName() {
return name;
}
public void setName(String value) {
name = value;
}
// Other getter/setter combinations...
public int getAge() {
return age;
}
public void setAge(int value) {
age = value;
}
public int getHeight() {
return height;
}
public void setHeight(int value) {
height = value;
}
public int getWeight() {
return weight;
}
public void setWeight(int value) {
weight = value;
}
public String getEyeColor() {
return eyeColor;
}
public void setEyeColor(String value) {
eyeColor = value;
}
public String getGender() {
return gender;
}
public void setGender(String value) {
gender = value;
}

}


6.b 7.c

在Eclipse中创建和测试一个java类

更多精彩请阅读 东陆之滇的csdn博客:http://blog.csdn.net/zixiao217

本节学习目标

使用Eclipse Package Explorer 创建一个工程、包和类

给你的类添加变量和方法

学会使用Logger类观察你的应用的行为

使用Eclipse代码生成器

创建一个JUnit单元测试类并运行测试

你的Person类

你将创建你的第一个java类并使用它来工作 —— 到目前为止,你已经抽象出一个Person类了(如果你读过了前面几节的话)。



首先,你得安装JDK和IDE(这里我们使用的是Eclipse),请参看第一节搭建开发环境的图文内容

Step1.创建java工程

打开你的Eclipse,解压下载的zip文件,执行其中的eclipse.exe文件,在弹出的界面中选择一个Workspace工作空间,指定一个目录(文件夹),笔者指定的是E:\eclipseWorkspace4JavaBasic。

打开Eclipse后进入到欢迎页面,你有兴趣的话可以看看这些内容



大都选择可以直接关闭欢迎页面进入到工作界面



因为我下载的是JAVA EE版本Eclipse,所以这样创建一个java工程:File–>New–>Project–>再选则Java Project



指定工程名,这里我们不妨指定为javaBasic,点击Finish完成,至此一个java工程创建完毕了。



Step2.创建包

右键点击工程 javaBasic> New > Package,包名不妨指定为com.makotojava.intro ,点击完成。



Step3.创建类

右键点击刚刚创建的包>New->Class,类名我们先叫Person,点击完成。



Step4.添加内置的日志类

在你编写更多代码之前,你应该知道让你的程序告诉你它做了什么。

java类库中有一个java.util.logging的包,内建了一种日志机制可以以一种可读形式来搜集程序的相关信息。日志记录器是命名的实体,你可以调用Logger的静态发方法创建。

//不必手动输入,你可以在程序中输入Logger后按住Ctrl+Shift+O来自动导入该包
import java.util.logging.Logger;
//...
Logger l = Logger.getLogger(getClass().getName());


调用Logger的getLogger方法需要传入一个字符串。这里我们传入Person类的名字,需要使用Person.class.getName()

package com.makotojava.intro;

import java.util.logging.Logger;

public class Person {
private static Logger log = Logger.getLogger(Person.class.getName());

}


Step5.添加类的成员变量

上一节中,你看到了怎样充实一个Person类,但是我在之前没有解释更多的语法。现在你可以学会正是地怎样去添加一些成员变量(属性)了。

为了方便起见,Listing1先重复展示上一节中你看到的Person类:

package com.makotojava.intro;
public class Person {
private String name;
private int age;
private int height;
private int  weight;
private String eyeColor;

private String gender;
public Person() {
// Nothing to do...
}

public Person(String name, int age, int height, int weight String eyeColor, String gender) {
this.name = name;
this.age = age;
this.height = height;
this.weight = weight;
this.eyeColor = eyeColor;
this.gender = gender;
}
}


我们回顾一下,一个变量包含访问控制修饰符、数据类型和变量名,也可能指定初始值。上一节中,我们看到了怎样定义访问控制修饰符和变量名。

数据类型可以使原始数据类型或者引用类型。举个例子,age就是原始数据类型(int),name是引用类型(String)。JDK封装了很多可用的类比如java.langString在java.lang包下,使用时可以不用显式的import。

Table 1展示了8种基本类型,并且给出了默认的初始值,如果这些类型的变量你没有指定初始值的话。

Type数据类型Size字节大小Default value默认值Range of values表示的范围
booleann/afalsetrue or false
byte8 bits0-128 to 127
char16 bits(unsigned)\u0000’ \u0000’ to \uffff’ or 0 to 65535
short16 bits0-32768 to 32767
int32 bits0-2147483648 to 2147483647
long64 bits0-9223372036854775808 to 9223372036854775807
float32 bits0.01.17549435e-38 to 3.4028235e+38
double64 bits0.04.9e-324 to 1.7976931348623157e+308

Step6.添加getter、setter、构造器、main方法

截止到目前我们的类是这样的:

package com.makotojava.intro;

import java.util.logging.Logger;

public class Person {

//日志记录器
private static Logger log = Logger.getLogger(Person.class.getName());

private String name;
private int age;
private int height;
private int weight;
private String eyeColor;
private String gender;

}


现在来添加getter、setter方法。右键点击类名-> Source > Generate Getters and Setters….选择Select All,点击OK;或者Shift+Alt-> Generate Getters and Setters….选择Select All,点击OK。

现在我们再添加一个无参构造器,右键点击类名-> Source 或者Shift+Alt选择Generate Contrustor from SuperClasse…

我们再添加一个包含所有属性参数的构造器,右键点击类名-> Source 或者Shift+Alt选择Generate Contrustor using Fields…选择Select All,点击OK。

再添加一个main方法。可以输入main后按住Alt+/提示生成main方法。

至此我们的Person类应该是这样子的:

package com.makotojava.intro;

import java.util.logging.Logger;

public class Person {

//日志记录器
private static Logger log = Logger.getLogger(Person.class.getName());

//成员变量(属性)
private String name;
private int age;
private int height;
private int weight;
private String eyeColor;
private String gender;

//空构造器
public Person() {
super();
// TODO Auto-generated constructor stub
}

//包含所有属性的构造器
public Person(String name, int age, int height, int weight, String eyeColor, String gender) {
super();
this.name = name;
this.age = age;
this.height = height;
this.weight = weight;
this.eyeColor = eyeColor;
this.gender = gender;
}

//Getter、Setter方法
public static Logger getLog() {
return log;
}

public static void setLog(Logger log) {
Person.log = log;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public int getAge() {
return age;
}

public void setAge(int age) {
this.age = age;
}

public int getHeight() {
return height;
}

public void setHeight(int height) {
this.height = height;
}

public int getWeight() {
return weight;
}

public void setWeight(int weight) {
this.weight = weight;
}

public String getEyeColor() {
return eyeColor;
}

public void setEyeColor(String eyeColor) {
this.eyeColor = eyeColor;
}

public String getGender() {
return gender;
}

public void setGender(String gender) {
this.gender = gender;
}

//main方法
public static void main(String[] args) {

}

}


Step7.生成一个JUnit测试用例

当你实例化一个Person对象的时候,你可以生成一个JUnit单元测试用例,打印对象的状态到控制台。

从这个意义上讲,这个测试用例确保调用构造器和属性是正确的。

在Package Explorer视图中,右键点击Person类->New > java->JUint->JUnit Test Case,使用默认的,点击next。你可以选择勾选某几个方法测试,这里我们只测试一下包含所有属性参数的构造器,点击Finish会提示你添加一个JUnit测试包,点击OK。

在测试类里添加如下代码:

package com.makotojava.intro;

import static org.junit.Assert.assertEquals;

import java.util.logging.Logger;

import org.junit.Test;

public class PersonTest {

@Test
public void testPersonStringIntIntIntStringString() {
Person p = new Person("Joe Q Author", 42, 173, 82, "Brown", "MALE");
Logger l = Logger.getLogger(Person.class.getName());
l.info("Name: " + p.getName());
l.info("Age:" + p.getAge());
l.info("Height (cm):" + p.getHeight());
l.info("Weight (kg):" + p.getWeight());
l.info("Eye Color:" + p.getEyeColor());
l.info("Gender:" + p.getGender());
assertEquals("Joe Q Author", p.getName());
assertEquals(42, p.getAge());
assertEquals(173, p.getHeight());
assertEquals(82, p.getWeight());
assertEquals("Brown", p.getEyeColor());
assertEquals("MALE", p.getGender());
}

}


Step8.运行你的测试用例

在Package Explorer视图中,右键点击PersonTest->Run AS->JUint Test。



我们看到单元测试运行成功,错误数为0,失败数为0。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐