EasyMock 入门级实例

本文详细介绍了如何在Java中实现面向接口的编程思想,通过创建接口、调用类和测试类来展示接口编程的优势。重点阐述了如何使用Easymock库进行单元测试,以确保接口的正确性和稳定性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//首先创建一个接口BaseDao.java
package com.abin.lee.easymock;

/**
* Created with IntelliJ IDEA.
* User: abin
* Date: 13-4-22
* Time: 上午8:06
* To change this template use File | Settings | File Templates.
*/
public interface BaseDao {
public String queryById(String id);
}


//创建一个调用类BaseService.java
package com.abin.lee.easymock;

/**
* Created with IntelliJ IDEA.
* User: abin
* Date: 13-4-22
* Time: 上午8:09
* To change this template use File | Settings | File Templates.
*/
public class BaseService {
private BaseDao baseDao;
public void setDao(BaseDao baseDao){
this.baseDao=baseDao;
}

public String carryQuery(String id){
return this.baseDao.queryById(id);

}
}


//创建一个测试类:BaseTest.java
package com.abin.lee.easymock;

import junit.framework.TestCase;
import org.easymock.EasyMock;
import org.junit.Test;

/**
* Created with IntelliJ IDEA.
* User: abin
* Date: 13-4-22
* Time: 上午8:12
* To change this template use File | Settings | File Templates.
*/
public class BaseTest {
@Test
public void testBaseDao(){
//1、创建mock对象,以接口形式创建
BaseDao baseDaoMock= EasyMock.createMock(BaseDao.class);
//2、设定参预期和返回,查询预期值得到所设定的预期结果
EasyMock.expect(baseDaoMock.queryById("111")).andReturn("abin");
//3、结束录制
EasyMock.replay(baseDaoMock);
//比较service调用的值是否与设定的值相同
BaseService baseService=new BaseService();
baseService.setDao(baseDaoMock);
String result=baseService.carryQuery("111");
System.out.println("result="+result);
TestCase.assertNotNull(result);
TestCase.assertEquals("abin",result);
//4、回放录制
EasyMock.verify(baseDaoMock);

}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值