实验一使用Junit进行单元测试
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验报告
实验名称使用Junit进行单元测试第 1 次实验实验日期 2011-10-16
指导教师程宝雷
班级软件10届学号3 姓名徐玮明成绩
一.目的和要求
JUnit是一款由Erich Gamma(《设计模式》的作者)和Kent Beck(极限编程的提出者)编写的开源的回归测试框架,供Java编码人员做单元测试之用。当前版本4.1,可以从网站上获得。与早期的JUnit 3相比,JUnit 4.1依赖于Java 5.0的新特性,因此无法兼容于jdk 1.4,可以说是一个全新的框架。
由于这里使用的IDE是Eclipse 3.2.1加语言包,已经集成了junit 4.1,因此便免去下载和配置类库的麻烦了
二.实验内容
参考案例《Junit测试》,完成如下内容
1、创建项目
下面打开Eclipse,点击菜单“文件”->“新建”->“项目”或“新建”按钮,打开“新建”对话框:请选中“Java项目”,点击“下一步”,进入“新建Java项目”对话框:
在这个对话框中需要设置项目的名称以及项目所在目录,我为自己的项目起名为JUnitTest,目录为F:\YPJCCK\JUnit\Eclipse\JUnitTest。由于Eclipse自带了JUnit类库,因此此时点击“完成”即可。
2、编写用于测试的JavaBean
用于测试的JavaBean很简单,名为Book,只有id和name两个属性,这两个属性将分别用于两个用例当中。下面开始编写该JavaBean。
请点击“文件”->“新建”->“类”,打开“新建Java类”对话框,设置包为net.test.unit.junit,名称为Book,并确保“public static void main(String[] args)”选项没有选中,然后点击“完成”。修改代码如下:
package net.test.unit.junit;
public class Book {
private String id = null;
private String name = null;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
publicvoid setName(String name) {
= name;
}
}
至此,用于测试的JavaBean编写完成。
3、编写测试用例
这里只用了一个类进行测试,名为BookT est。以前像这样的类是需要继承junit.framework.TestCase的,但由于JUnit 4.1充分利用了Java 5.0新增的注解功能,因此便无须再这样做了。当然,JUnit 4.1仍然提供对旧方式的支持,不过这里并不打算介绍。 BookTest类包含两个用例,分别对应该类的caseId和caseName方法,即每个方法实现一个用例。与JUnit 3.8.1不同,在JUnit 4.1中不再强制要求方法名以test开头,而是允许随意命名,只要符合Java的命名规范就行,这里为了表明这点,特意用了case开头,但测试用例必须以@T est注解。此外,BookTest还有setUp和tearDown这两个方法,并分别使用@Before和@After来进行注解,前者在每个测试方法开始之前执行,多用来做初始化;后者在每个测试方法完成之后执行,多用来清理资源。注意,这两个方法的命名同样没有限制,且定义的数量也没有限制,只是必须用@Before和@After进行注解。另外,JUnit 4.1还提供了@BeforeClass和@AfterClass注解,功能与@Before和@After类似,但前者是用在所有用例执行之前做初始化、之后做清理,而后者是在每个用例执行之前做初始化、之后做清理。下面开始编写BookT est。
在Eclipse中,创建BookT est类有两种方法:方法一,像前边创建Book类一样,点击“文件”->“新建”->“类”来创建;方法二,先在“包资源管理器”中选中Book类,然后点击“文件”->“新建”->“JUnit测试用例”,打开“新建JUint测试用例”窗口:
此时会发现,很多信息已经被Eclipse自动添加进来了。如果想利用Eclipse自动创建测试方法,请点击“下一步”。由于本文会自行编写测试方法,因此请直接点击“完成”。
创建BookTest类后,修改代码如下:
package net.test.unit.junit;
import static org.junit.Assert.*;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
public class BookTest {
Book book = null;
@Before
public void setUp() throws Exception {
System.out.println("测试开始!");
book = new Book();
System.out.println("book对象被初始化!");
}
@After
public void tearDown() throws Exception {
System.out.println("book对象将被清理!");