`

EasyMock 入门级实例

 
阅读更多
//首先创建一个接口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入门

    EasyMock 是一个强大的Java模拟框架,它允许开发者在单元测试中创建和控制对象的行为,而无需实际实例化这些对象。这个框架使得测试更加简洁,因为它可以隔离被测试代码,只关注于当前测试的功能,而不是依赖于其他...

    easymock资料和源代码实例

    下面我们将详细探讨Easymock的基本概念、工作原理以及如何通过源代码实例进行应用。 **Easymock基本概念** 1. **模拟对象(Mock Objects)**:在单元测试中,模拟对象是代替真实对象的替代品,它们根据预设的行为...

    EasyMock 实例

    EasyMock 是一个强大的Java模拟框架,它允许开发者在单元测试中创建和控制对象的行为,以模拟复杂的系统交互。这个框架的使用可以极大地提高测试的效率和覆盖率,因为它使得测试代码可以独立于实际的依赖进行执行。 ...

    EasyMock

    这个框架的出现,极大地简化了对那些难以或无法直接实例化的类的测试,比如接口或者静态方法。EasyMock的核心理念是通过预定义对象的预期行为来隔离被测试代码,从而实现对系统组件的精确测试。 在源码层面,...

    EasyMock and PowerMock入门PPT

    【EasyMock介绍】 EasyMock是一个强大的Java库,用于创建模拟对象(Mock Objects),它使得单元测试变得更加简单。在测试过程中,模拟对象可以替代真实的依赖,这样我们就可以专注于测试单个方法,而不用担心其他...

    easyMock

    EasyMock 是一个强大的Java模拟框架,它允许开发者在单元测试中创建和控制对象的行为,以模拟复杂的依赖关系。这个框架的出现使得测试更加简洁、独立,可以有效地验证代码的正确性,而无需运行实际的依赖服务或库。...

    EasyMock.jar

    7. **静态方法模拟**:虽然EasyMock主要针对实例方法的模拟,但它也提供扩展机制(如使用EasyMock Class Extension)来模拟静态方法。 8. **类型安全**:EasyMock 2.5.1版可能已经提供了类型安全的API,这使得在...

    easymock-3.2.zip

    EasyMock 3.2 是一个流行的开源Java模拟框架,它为开发者提供了强大的单元测试支持。在Java开发中,单元测试是验证代码独立模块正确性的关键步骤。EasyMock可以帮助程序员模拟对象的行为,使得测试过程更加可控,...

    EasyMock用到的objenesis

    Objenesis 是一个轻量级库,主要用于在没有构造函数的情况下实例化Java对象,这对于某些测试场景非常有用,比如EasyMock。在深入探讨Objenesis和其在EasyMock中的应用之前,我们先了解一下这两个工具的基本概念。 ...

    easymock.jar,easymockclassextension.jar

    Easymock是一个流行的Java单元测试框架,它允许开发者创建模拟对象来测试代码。这个框架使得测试更加简单,因为你可以模拟任何复杂的交互和行为,而无需实际运行依赖的组件。在给定的压缩包文件中,包含两个核心的...

    easymock-3.2.jar

    EasyMock主要是为测试提供模拟数据,比如你可以模拟HttpServletRequest。

    EasyMock介绍和使用

    【EasyMock介绍】 EasyMock是一款强大的Java模拟框架,它允许开发者在进行单元测试时创建和控制对象的行为。这个工具使得测试更加独立,可以隔离被测试代码与其他依赖的系统,从而提高测试的效率和质量。EasyMock的...

    EasyMock 简介

    EasyMock 简介 EasyMock 是一套用于通过简单的方法对于给定的接口生成 Mock 对象的类库,旨在解决单元测试中的 Mock 对象构建问题。以下是 EasyMock 的详细介绍: 单元测试与 Mock 方法 单元测试是对应用中的某一...

    EasyMock的安装与部署所需全部文件.zip

    EasyMock是一款强大的模拟框架,主要用于Java单元测试。它允许开发者创建和控制对象的模拟行为,以便在测试过程中隔离被测试代码。在这个“EasyMock的安装与部署所需全部文件.zip”压缩包中,包含了在Windows环境下...

    easymock 的使用方法简介

    easymock 的使用方法简介 easymock 是一个开放源码的 mock 对象库,用于帮助开发者快速轻松地创建用于单元测试的 mock 对象。 EasyMock 使用动态代理,让开发者只需一行代码就能够创建任何接口的基本实现。 ...

    转:EasyMock 单元测试

    例如,如果你有一个名为 `MyService` 的接口,你可以这样创建它的 mock 实例: ```java MyService myServiceMock = createMock(MyService.class); ``` **定义期望** 接下来,你需要定义 mock 对象在测试中应如何...

    easyMock2.2.doc

    ### EasyMock2.2:深度解析与应用实例 #### 引言 EasyMock是一个流行的Java框架,用于在单元测试中创建和管理Mock对象。它通过动态代理或子类化技术来实现,允许开发者预定义对象行为,从而简化了对依赖项的测试。...

    easymock

    这些内容不仅为初学者提供了良好的入门指导,也给经验丰富的开发者带来了进一步深化和巩固知识的机会。 《高性能JavaScript编程》则由Nicholas C. Zakas撰写,他不仅是ECMAScript Harmony项目的成员,也是一位在高...

    easymock2.4+EasyMock使用简明手册.pdf

    EasyMock是Java编程中的一款强大的模拟框架,它允许开发者在单元测试中创建和控制对象的行为,以便于测试代码的特定部分。本手册主要关注的是EasyMock的2.4版本,这是一个广泛使用的版本,包含了丰富的功能和改进。...

Global site tag (gtag.js) - Google Analytics