`
隐形的翅膀
  • 浏览: 498279 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JMock的使用一

 
阅读更多

JMockit Quick Tutorial
https://github.com/ajermakovics/eclipse-jmockit-assist/wiki/JMockit-Quick-Tutorial-%28Cheat-sheet%29


1. 用new MockUp方法打桩
    import mockit.Mock;  
    import mockit.MockUp;  
    import mockit.Mockit;  
      
    import org.junit.After;  
    import org.junit.Before;  
    import org.junit.Test;  
      
      
    public class BizTest2 {  
      
        @Before  
        public void setUp() throws Exception {  
            new MockUp<Common>(){  
                //mock 构造方法  
                @Mock  
                public void $init(){  
                    System.out.println("Mock init()");  
                }  
                  
                //mock public 方法  
                @Mock  
                public void doA(){  
                    System.out.println("mock doA()");  
                }  
                  
                //mock public static 方法  
                @Mock   
                public  void doB(){  
                    System.out.println("mock doB()");  
                }  
                  
                //mock private 方法 这里也需声明为public  
                @Mock  
                public void doC(){  
                    System.out.println("mock doC()");  
                }  
            };  
              
            new MockUp<Single>(){  
                //mock单例方法  
                @Mock  
                public void doA(){  
                    System.out.println("mock single doA()");  
                }  
            };  
        }  
      
        @After  
        public void tearDown() throws Exception {  
            Mockit.tearDownMocks();  
        }  
      
        @Test  
        public void testCallCommon() {  
            new Biz().callCommon();  
        }  
      
        @Test  
        public void testCallSingle() {  
            new Biz().callSingle();  
        }  
      
    }  


2. 用Mockit.redefineMethods方法打桩

    import mockit.Mockit;  
      
    import org.junit.After;  
    import org.junit.Before;  
    import org.junit.Test;  
      
      
    public class BizTest3 {  
      
        @Before  
        public void setUp() throws Exception {  
            Mockit.redefineMethods(Common.class, MockCommon3.class);  
            Mockit.redefineMethods(Single.class, MockSingle3.class);  
        }  
      
        @After  
        public void tearDown() throws Exception {  
            Mockit.tearDownMocks();  
        }  
      
        @Test  
        public void testCallCommon() {        
            new Biz().callCommon();  
        }  
      
        @Test  
        public void testCallSingle() {         
            new Biz().callSingle();  
        }  
    }  
      
    class MockCommon3 {  
        public void $init(){  
            System.out.println("mock constructor");  
        }  
        public void doA(){  
            System.out.println("mock doA");  
        }  
        public void doB(){  
            System.out.println("mock doB");  
        }  
        public void doC(){  
            System.out.println("mock doC");  
        }  
    }  
    class MockSingle3 {  
        public void doA(){  
            System.out.println("mock single doA");  
        }  
    }  


3. 用Mockit.setUpMock方法打桩

    import mockit.Mock;  
    import mockit.MockClass;  
    import mockit.Mockit;  
      
    import org.junit.After;  
    import org.junit.Before;  
    import org.junit.Test;  
      
      
    public class BizTest4 {  
      
        @Before  
        public void setUp() throws Exception {  
            Mockit.setUpMock(Common.class, MockCommon4.class);  
            Mockit.setUpMock(Single.class, MockSingle4.class);  
        }  
      
        @After  
        public void tearDown() throws Exception {  
        }  
      
        @Test  
        public void testCallCommon() {  
            new Biz().callCommon();  
        }  
      
        @Test  
        public void testCallSingle() {  
            new Biz().callSingle();  
        }  
      
    }  
    @MockClass(realClass = Common.class)  
    class MockCommon4 {  
        @Mock  
        public void $init(){  
            System.out.println("mock constructor");  
        }  
        @Mock  
        public void doA(){  
            System.out.println("mock doA");  
        }  
        @Mock  
        public void doB(){  
            System.out.println("mock doB");  
        }  
        @Mock  
        public void doC(){  
            System.out.println("mock doC");  
        }  
    }  
    @MockClass(realClass = Single.class)  
    class MockSingle4 {  
        @Mock  
        public void doA(){  
            System.out.println("mock single doA");  
        }  
    }  
分享到:
评论

相关推荐

    JMOCK使用文档

    - `Junit使用.ppt`:可能是一个关于JUnit基本用法和如何与JMock结合的演示文稿。 通过学习这些文档,开发者可以更全面地了解如何有效地使用JMock进行单元测试,提升测试覆盖率和代码质量。如果你在学习过程中遇到...

    jmock-1.2.0-jars.rar

    在 JUnit 中,你可以使用 `jmock-junit3` 或 `jmock-junit4` 包,它们提供了一个 JUnit Rule,使得在测试类中使用 JMock 更加方便。 6. **版本信息** 这个压缩包中的 "jmock-1.2.0-jars" 提供的是 JMock 1.2.0 ...

    Jmock2.6 jar包

    在本文中,我们将深入探讨Jmock2.6的核心特性、使用场景以及如何在实际项目中应用。 **一、Jmock2.6概述** Jmock是一款开源的Java库,它基于JUnit构建,专门设计用来创建和验证对象交互。Jmock2.6是该库的一个版本...

    JMock

    JMock 是一个流行的开源测试框架,专为Java开发者设计,用于模拟对象的行为,特别是在单元测试中。它允许程序员在不依赖真实对象的情况下测试代码,提高了测试的效率和隔离性。这篇详尽的讨论将深入JMock的核心概念...

    jmock2.5.1.zip

    jMock 2.5.1.chm文件是一个帮助文档,包含了jMock框架的详细使用指南。通过这个文档,开发者可以学习如何创建和配置模拟对象,设置和验证期待,以及如何在JUnit等测试框架中集成jMock。 首先,创建模拟对象通常需要...

    JMOCK 帮助 网页 文档

    JMock 是一个Java平台上的单元测试框架,专门用于模拟对象,以便在测试过程中控制和验证对象的行为。它基于EasyMock库,但提供了更强大的功能,尤其是对于处理复杂交互和顺序的场景。JMock使得开发者可以在不依赖...

    jmock-2.5.1-javadoc

    jMock是一个强大的Java模拟框架,它在软件开发的单元测试阶段扮演着至关重要的角色。jMock 2.5.1是该框架的一个版本,它提供了丰富的功能,帮助开发者创建虚拟对象,模拟复杂的交互行为,以便对代码进行独立验证。...

    jmock-2.6.0-jars

    `jmock`是Java平台上的一个模拟框架,它允许开发者在单元测试中创建和控制对象的行为,以便能够隔离测试并精确地指定期望的交互。下面我们将深入探讨`jmock`的关键概念和功能。 ### 1. 模拟框架概述 `jmock`属于...

    jmock cookbook 资源整合

    《JMock Cookbook资源整合》是关于Java测试领域中JMock库使用的详细指南,旨在帮助开发者更好地理解和运用这个强大的模拟框架。JMock是一个用于Java应用程序单元测试的工具,它允许程序员模拟对象的行为,以便在孤立...

    jmock-1.2.0-jars.zip

    1. **创建模拟对象**:使用`Mockery`类来创建模拟对象,如`Mockery context = new Mockery(); MyInterface mock = context.mock(MyInterface.class);` 2. **定义行为**:通过`expect`方法来设定模拟对象的预期行为...

    使用 FactoryBean结合Jmock实现动态Mock类的注入

    为了结合`FactoryBean`和Jmock,我们需要在`FactoryBean`的实现中使用Jmock来动态创建模拟对象。以下是一个简单的示例: ```java public class MockingFactoryBean implements FactoryBean&lt;Object&gt; { private ...

    jmock2.5.1和easymock3.0

    而JMock和EasyMock则是两种广泛使用的Java单元测试框架,它们允许开发者模拟对象的行为和交互,以便于测试复杂的系统。本资源包含JMock 2.5.1和EasyMock 3.0的库文件,使得开发者在进行单元测试时无需再四处寻找相关...

    jMock基本使用方法

    以下是一个使用 jMock 的简单示例,展示了如何为 `UserService` 类编写单元测试: ##### 1. 实体类:`User` ```java package com.sarkuya.model; public class User { private String name; public User() {} ...

    maven+jmock

    标题 "maven+jmock" 暗示了我们要讨论的是如何在 Maven 项目中使用 JMock 进行单元测试。Maven 是一个流行的构建自动化工具,用于管理项目的构建、依赖和文档,而 JMock 是一个 Java 代码模拟库,允许开发者在测试中...

    jmock jar包及doc文档

    1. **模拟(Mock)**:一个模拟对象会记录其方法被调用的方式,并允许你在测试中验证这些调用。 2. **期待(Expectation)**:在测试中,你可以设定对模拟对象的期望调用,包括调用的方法、参数和调用顺序。 3. **...

    Jmock Mock 没有接口的类

    在 JMock 中,如果我们要模拟一个没有接口的类,可以使用 CGLIB 来创建该类的子类。首先,你需要在项目中引入 CGLIB 的依赖,这里提供的 `cglib-full-2.0.jar` 和 `jmock-cglib-1.0.1.jar` 文件包含了 CGLIB 的相关...

    软件测试资料集合,jtest,jmock

    `jmock-2.6.0-RC2-javadoc.zip`和`jmock-2.5.1-javadoc.zip`包含的是`jmock`的API文档,可以帮助开发者理解和使用其API。`jmock-2.6.0-RC2-jars.zip`和`jmock-2.5.1-jars.zip`则包含了相应的库文件,可以直接在项目...

Global site tag (gtag.js) - Google Analytics