使用easymock简单举例

//使用easymock模拟 类B 来测试 类 A;

package test2;
public class A
{
 BInterface b;
 public A(BInterface b){
  this.b = b;  
 } 
 public String getStrA(String str)
 {
  return str + b.getStrB();
 }
}

/***package test2;
public class B
{
 public String getStrB()
 {
  return "xxx";
 } 
}***/

package test2;
public interface BInterface
{
 public String getStrB();
}

package test2;
import org.easymock.MockControl;
import junit.framework.TestCase;
public class ATest extends TestCase
{
 private A a ;
 private BInterface mock;
 private MockControl mockControl;
 protected void setUp() throws Exception
 {
  super.setUp();

  mockControl = MockControl.createContro(BInterface.class);
  mock = (BInterface)mockControl.getMock();
  a = new A(mock);
 }
 /*
  * “test2.A.getStrA(String)”的测试方法
  */
 public void testGetStrA()
 {
  mock.getStrB();
  mockControl.setReturnValue("b");
  mockControl.replay();
  assertEquals("ab",a.getStrA("a"));  
 }
}

 

 


/**
 * 测试HttpDataHandler类中的方法
 * @author Leo
 */
public class HttpDataHandlerTest extends TestCase
{
 private NetLogDBFacadeInterface mockNetLogDBFacade;
 private HttpRecordCacheInterface mockHttpRecordCache;
 private MockControl mockControlNetLogDBFacade;
 private MockControl mockControlHttpRecordCache;
 
 private HttpDataHandler httpDataHandler;

 

 
 public void testHandleData() throws Exception
 {
 
  mockControlNetLogDBFacade = MockControl.createControl(NetLogDBFacadeInterface.class);
  mockControlHttpRecordCache = MockControl.createControl (HttpRecordCacheInterface.class);
  mockNetLogDBFacade = (NetLogDBFacadeInterface)mockControlNetLogDBFacade.getMock();
  mockHttpRecordCache = (HttpRecordCacheInterface)mockControlHttpRecordCache.getMock();
  httpDataHandler = new HttpDataHandler(mockNetLogDBFacade,mockHttpRecordCache);
 
  PersonalityRecord personalityRecord = new PersonalityRecord();
  personalityRecord.setGroupID("groutID");
  personalityRecord.setIdType('a');
  personalityRecord.setPersonalityData("personalityData");
  personalityRecord.setPersonalityID("personalityID");
  personalityRecord.setPersonNo(1);
 
  SComputerRecord sComputerRecord = new SComputerRecord();
  sComputerRecord.setSComputerIP(192);
  sComputerRecord.setSComputerMAC("sComputerMAC");
  sComputerRecord.setSComputerNo(2);
 
 
  mockNetLogDBFacade.selectPersonalityRecord(3);
 
  NetData netData = new NetData();
  String dComputerMAC = "dComputerMAC";
  String groupID = "groupID";
  char idType = 'i';
  String personalityData = "personalityData";
  String personalityID = "liyingcheng";
  String sComputerMAC = "sComputerMAC";
  String time = "2002-10-11 15:40:55";
  netData.setAlarm(1);
  netData.setDComputerIP(202);
  netData.setDComputerMAC(dComputerMAC);
  netData.setDPort((short)80);
  netData.setGroupID(groupID);
  netData.setIdType(idType);
  netData.setPersonalityData(personalityData);
  netData.setPersonalityID(personalityID);
  netData.setPersonNo(8);
  netData.setProtocolDir('1');
  netData.setProxyIP(123);
  netData.setProxyPort((short)88);
  netData.setProxyType('t');
  netData.setSComputerID(66);
  netData.setSComputerIP(192);
  netData.setSComputerMAC(sComputerMAC);
  netData.setSPort((short)8080);
  netData.setTime(time);
  netData.setTreaterID(5);
  netData.setTreatFlag('f');
  netData.setTreatReason(6);
  netData.setCmd((byte)1);
  netData.setTitle("title");
  netData.setPage("page");
  netData.setHost("host");
 
  httpDataHandler.handleData(netData);
 }
 }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值