我要发布
仪器网/ 仪器社区/ 检测类/ java和junit写类与测试类

java和junit写类与测试类

437877934    2008-07-23    检测类    浏览 320 次

数字图书馆系统中有一个类book,有“书名(name)”、作者(author) 可借出数(availNum)等属性,有“构造器(book)、设置可借出数(setAvailNum)”、预借(subscribe)、取消预借(cancelSubscribe)等操作。若availNum非零,“预借”操作使availNum减一... 数字图书馆系统中有一个类book,有“书名(name)”、作者(author)
可借出数(availNum)等属性,有“构造器(book)、设置可借出数(setAvailNum)”、预借(subscribe)、取消预借(cancelSubscribe)等操作。若availNum非零,“预借”操作使availNum减一;若availNum为零,“预借”为空操作。“取消预借”使availNum 加一。请用Java和junit写出book类及其测试类的源码

精彩问答
皮皮虾有点辣 发布日期:2016-03-27
/** Book类 */
public class Book {
public String name;
public String author;
private int availNum;

public Book() {
this("", "", 0);
}

public Book(String name, String author, int availNum) {
this.name = name;
this.author = author;
this.availNum = availNum;
}

public int getAvailNum() {
return availNum;
}

public void setAvailNum(int availNum) {
this.availNum = availNum;
}

public boolean subscribe() {
if (availNum > 0) {
availNum--;
return true;
}
return false;
}

public boolean cancelSubscribe() {
availNum++;
return true;
}
}

/** Book类的单元测试类 */
import junit.framework.TestCase;

public class TestBook extends TestCase {

public void testBook() {
Book book = new Book("Thinking in Java", "Bruce Eckel", 3);
assertEquals(true, book.subscribe());// diyi次预借,应该是成功的
assertEquals(2, book.getAvailNum());// 此时的可预借数是2
assertEquals(true, book.cancelSubscribe());// 取消预借,应该是成功的
assertEquals(3, book.getAvailNum());// 此时的可预借数是3
book.setAvailNum(0);// 将可预借数设为0
assertEquals(false, book.subscribe());// 此时预借,应该是不成功的
}

public static void main(String[] args) {
junit.textui.TestRunner.run(Book.class);
}
}
上面的测试类可以不要main函数,直接在集成开发环境里用JUnit执行单元测试。
全部评论
齔丼 发布日期:2008-07-27
我不拷贝别人的代码了,人家也不容易呀,参考下面网址吧:
http://tech.it168.com/j/2007-08-27/200708271553159.shtml
Y倩倩1127 发布日期:2008-08-06
把你的Book类放到和这个一个包下
package com.test.junit3;

import junit.framework.Assert;
import junit.framework.TestCase;

public class BookTest extends TestCase {

public void testSubscibe()
{
Book book = new Book();
int result = book.subscibe(...//你的业务逻辑);

//断言
Assert.assertEquals(这里是一个int值即你的需要断言的东西,result);
}
public void testCancelSubscribe(){
Book book = new Book();
int result = book.cancelSubscribe(...//你的业务逻辑);

//断言,这里需要考虑到非0的情况
Assert.assertEquals(这里是一个int值即你的需要断言的东西,result);

}

}
是HNN2OD 发布日期:2008-07-24
class book {
private String name = "";
private String author = "";
private int availNum = 0;

public book() {
}

public void setAvailNum(boolean lendFlag) {
if (lendFlag) {
subscribe();
}
else {
cancelSubscribe();
}
}

private void subscribe() {
if (this.availNum != 0) {
this.availNum--;
}
}

private void cancelSubscribe() {
this.availNum++;
}
}
最新主题
相关版块
我要评论
X您尚未登录
账号登录
X您尚未登录
手机动态密码登录
X您尚未登录
扫码登录

当前页面为旧版页面,诚邀您切换到新版页面。| 感受更多精心打造的新增功能、更加流畅的操作体验。

官方微信

仪器网微信服务号

扫码获取最新信息


仪器网官方订阅号

扫码获取最新信息

在线客服

咨询客服

在线客服
工作日:  9:00-18:00
联系客服 企业专属客服
电话客服:  400-822-6768
工作日:  9:00-18:00
订阅商机

仪采招微信公众号

采购信息一键获取海量商机轻松掌控