//首先创建一个接口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);
}
}
分享到:
相关推荐
EasyMock 是一个强大的Java模拟框架,它允许开发者在单元测试中创建和控制对象的行为,而无需实际实例化这些对象。这个框架使得测试更加简洁,因为它可以隔离被测试代码,只关注于当前测试的功能,而不是依赖于其他...
下面我们将详细探讨Easymock的基本概念、工作原理以及如何通过源代码实例进行应用。 **Easymock基本概念** 1. **模拟对象(Mock Objects)**:在单元测试中,模拟对象是代替真实对象的替代品,它们根据预设的行为...
EasyMock 是一个强大的Java模拟框架,它允许开发者在单元测试中创建和控制对象的行为,以模拟复杂的系统交互。这个框架的使用可以极大地提高测试的效率和覆盖率,因为它使得测试代码可以独立于实际的依赖进行执行。 ...
这个框架的出现,极大地简化了对那些难以或无法直接实例化的类的测试,比如接口或者静态方法。EasyMock的核心理念是通过预定义对象的预期行为来隔离被测试代码,从而实现对系统组件的精确测试。 在源码层面,...
【EasyMock介绍】 EasyMock是一个强大的Java库,用于创建模拟对象(Mock Objects),它使得单元测试变得更加简单。在测试过程中,模拟对象可以替代真实的依赖,这样我们就可以专注于测试单个方法,而不用担心其他...
EasyMock 是一个强大的Java模拟框架,它允许开发者在单元测试中创建和控制对象的行为,以模拟复杂的依赖关系。这个框架的出现使得测试更加简洁、独立,可以有效地验证代码的正确性,而无需运行实际的依赖服务或库。...
7. **静态方法模拟**:虽然EasyMock主要针对实例方法的模拟,但它也提供扩展机制(如使用EasyMock Class Extension)来模拟静态方法。 8. **类型安全**:EasyMock 2.5.1版可能已经提供了类型安全的API,这使得在...
EasyMock 3.2 是一个流行的开源Java模拟框架,它为开发者提供了强大的单元测试支持。在Java开发中,单元测试是验证代码独立模块正确性的关键步骤。EasyMock可以帮助程序员模拟对象的行为,使得测试过程更加可控,...
Objenesis 是一个轻量级库,主要用于在没有构造函数的情况下实例化Java对象,这对于某些测试场景非常有用,比如EasyMock。在深入探讨Objenesis和其在EasyMock中的应用之前,我们先了解一下这两个工具的基本概念。 ...
Easymock是一个流行的Java单元测试框架,它允许开发者创建模拟对象来测试代码。这个框架使得测试更加简单,因为你可以模拟任何复杂的交互和行为,而无需实际运行依赖的组件。在给定的压缩包文件中,包含两个核心的...
EasyMock主要是为测试提供模拟数据,比如你可以模拟HttpServletRequest。
【EasyMock介绍】 EasyMock是一款强大的Java模拟框架,它允许开发者在进行单元测试时创建和控制对象的行为。这个工具使得测试更加独立,可以隔离被测试代码与其他依赖的系统,从而提高测试的效率和质量。EasyMock的...
EasyMock 简介 EasyMock 是一套用于通过简单的方法对于给定的接口生成 Mock 对象的类库,旨在解决单元测试中的 Mock 对象构建问题。以下是 EasyMock 的详细介绍: 单元测试与 Mock 方法 单元测试是对应用中的某一...
EasyMock是一款强大的模拟框架,主要用于Java单元测试。它允许开发者创建和控制对象的模拟行为,以便在测试过程中隔离被测试代码。在这个“EasyMock的安装与部署所需全部文件.zip”压缩包中,包含了在Windows环境下...
easymock 的使用方法简介 easymock 是一个开放源码的 mock 对象库,用于帮助开发者快速轻松地创建用于单元测试的 mock 对象。 EasyMock 使用动态代理,让开发者只需一行代码就能够创建任何接口的基本实现。 ...
例如,如果你有一个名为 `MyService` 的接口,你可以这样创建它的 mock 实例: ```java MyService myServiceMock = createMock(MyService.class); ``` **定义期望** 接下来,你需要定义 mock 对象在测试中应如何...
### EasyMock2.2:深度解析与应用实例 #### 引言 EasyMock是一个流行的Java框架,用于在单元测试中创建和管理Mock对象。它通过动态代理或子类化技术来实现,允许开发者预定义对象行为,从而简化了对依赖项的测试。...
这些内容不仅为初学者提供了良好的入门指导,也给经验丰富的开发者带来了进一步深化和巩固知识的机会。 《高性能JavaScript编程》则由Nicholas C. Zakas撰写,他不仅是ECMAScript Harmony项目的成员,也是一位在高...
EasyMock是Java编程中的一款强大的模拟框架,它允许开发者在单元测试中创建和控制对象的行为,以便于测试代码的特定部分。本手册主要关注的是EasyMock的2.4版本,这是一个广泛使用的版本,包含了丰富的功能和改进。...