zoukankan      html  css  js  c++  java
  • 窥探EasyMock(1)基础使用篇

    EasyMock的应用分为5步:

    1. 使用 EasyMock 生成 Mock 对象;

    Java代码  收藏代码
    1. SomeInterface mockObj = createMock(SomeInterface.class);  

        如果想对一个类(而非接口)生成mock对象,需要EasyMock Class Extension

        如果是一个相对复杂的测试用例,需要对多个接口生成mock对象,使用MockControl来管理:

    Java代码  收藏代码
    1. IMocksControl control = createControl();  
    2. SomeInterface mockObj = control.createMock(SomeInterface.class);  
    3. AnotherInterface mockAnotherObj = control.createMock(AnotherInterface.class);  

    2. 设定 Mock 对象的预期行为和输出;

    Java代码  收藏代码
    1. expect(mockObj.someAction(1)).andReturn("one");  

        如果是一个返回void的方法调用:

    Java代码  收藏代码
    1. mockObj.noReturnValueAction();  
    2. expectLastCall();   // 最新版本的EasyMock可以忽略此句  


    3. 将 Mock 对象切换到 Replay 状态;

    Java代码  收藏代码
    1. replay(mockObj);  

     

        对于使用control来管理的情况:

    Java代码  收藏代码
    1. control.replay();  

     


    4. 调用 Mock 对象方法进行单元测试;

    Java代码  收藏代码
    1. fakeInvoke(mockObj);  

     


    5. 对 Mock 对象的行为进行验证

    Java代码  收藏代码
    1. verify(mockObj);  

     

        对于使用control来管理的情况:

    Java代码  收藏代码
    1. control.verify();  

     

  • 相关阅读:
    Qt 主窗口与子窗口之间传值
    Qt 如何使窗体初始最大化
    C++ strcmp与strncmp的比较
    Qt 状态栏(statusbar)的使用
    C++中的补零
    Qt QString转char[]数组
    PAT基础6-9
    PAT基础6-8
    PAT基础6-6
    PAT基础6-7
  • 原文地址:https://www.cnblogs.com/heidsoft/p/3833202.html
Copyright © 2011-2022 走看看