实验报告3
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验报告
实验名称:********************** 专业: ***************
班级:*****
姓名:******
学号: ***********
指导老师:******
2014年*月*日
一、实验目的
1)理解单元测试阶段Mock Object的用法;
2)掌握使用Eclipse+JUnit+EclEmma+EasyMock进行基本路径覆盖测试的方法。
二、实验工具
Eclipse、JUnit、eclemma和EasyMock
三、实验内容
四、实验代码
(1)AccountInfo
package atm;
public class AccountInfo {
private String cardNo;
private String password;
private int balance;
public AccountInfo(String c, String p, int b){ cardNo=c;
password=p;
balance=b;
}
public String getCardNo() {
return cardNo;
}
public void setCardNo(String cardNo) {
this.cardNo = cardNo;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public int getBalance() {
return balance;
}
public void setBalance(int balance){
this.balance = balance;
}
}
(2)类ATMService
package atm;
public class ATMService {
private IDataConnection dconn;
public ATMService(IDataConnection dc){
dconn=dc;
}
//取款操作
public void withdraw(String cardNo,int amount){ AccountInfo a=dconn.getAccount(cardNo);
int balance=a.getBalance()-amount;
a.setBalance(balance);
dconn.updateAccount(a);
}
//存款操作
public void deposit(String cardNo,int amount){
AccountInfo a=dconn.getAccount(cardNo);
int balance=a.getBalance()+amount;
a.setBalance(balance);
dconn.updateAccount(a);
}
//转账操作
public void transfer(String fromCardNo,String toCardNo,int amount){ AccountInfo a=dconn.getAccount(fromCardNo);
AccountInfo b=dconn.getAccount(toCardNo);
int aBalance=a.getBalance()-amount;
int bBalance=b.getBalance()+amount;
a.setBalance(aBalance);
b.setBalance(bBalance);
dconn.updateAccount(a);
dconn.updateAccount(b);
}
//查询操作
public int inquiry(String cardNo){
AccountInfo a=dconn.getAccount(cardNo);
return a.getBalance();
}
}
(3)接口IdataConnecrion
package atm;
public interface IDataConnection {
public AccountInfo getAccount(String id);
public void updateAccount(AccountInfo account);
public void addAccount(AccountInfo account);
}
(4)MockDataConnection
package atm;
import java.util.HashMap;
public class MockDataConnection implements IDataConnection {
private HashMap
public MockDataConnection(){
mdb = new HashMap
AccountInfo a = new AccountInfo("1","111111",300);
AccountInfo b = new AccountInfo("2","222222",1000);
mdb.put(a.getCardNo(), a);