频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

EasyMock的应用的举例说明

来源:qqread.com 作者:佚名 出处:巧巧读书 2008-07-24 进入讨论组
下一页 1 2 

1 能够帮助解耦设计。即以接口设计为中心
    2 检查你的代码使用其他对象的情况。通过为mock设置期望的行为,我们可以验证(verify)我们的代码是否正确的使用了我们被mock的接口
    3 对我们的代码从里到外进行测试

    4 使你的测试运行的更快。通过mock 数据库,通讯等接口,我们可以避免耗时的连接。
    5 使得与硬件设备交换、远程系统的开发更容易。
    6 可以推迟我们要实现的类。因为我们可以通过mock去模拟接口的实现,所以前期我们可以不用现实现接口。
    7 促进 基于接口的设计
    8 鼓励多使用组合而不是继承
    9 可以精炼接口
    10 可以测试那些 不太容易发生,不太可能和一些异常情况

    下载 easymock 最新版本是 2.2
    看到他的 document也很简单
    最重要的几句话
    To get a Mock Object, we need to
    create a Mock Object for the interface we would like to simulate,
    record the expected behavior, and
    switch the Mock Object to replay state.
    意思是说我们用easymock来做 必须做三点
    1 创建接口的 mock类
    2 记录期望的行为
    3 把mock对象 设置为 replay状态
    4 verify 是可选的 比如记录方法调用的次数等

    好来写个东东试试
    先写测试类(虽然书上这么建议,可是我在实际项目中 还是经常是先写 接口,而不是先写测试,感觉不太习惯。)
    package ex2;
    import static org.junit.Assert.*;
    import static org.easymock.EasyMock.*;
    import org.junit.Before;
    import org.junit.Test;
    public class StrategyuseTest {
     private Strategy mock;
     private Strategyuse strategyuse;
     @Before
     public void setUp() throws Exception {
      mock=createMock(Strategy.class);
      strategyuse=new Strategyuse();
      strategyuse.setStrategy(mock);
     }
     @Test
     public void testAddtwoint() {
 

进入讨论组讨论。
下一页 1 2 
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
讨论组问题推荐
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章