实验报告3

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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 mdb;

public MockDataConnection(){

mdb = new HashMap();

AccountInfo a = new AccountInfo("1","111111",300);

AccountInfo b = new AccountInfo("2","222222",1000);

mdb.put(a.getCardNo(), a);

相关文档
最新文档