`
regbin
  • 浏览: 56051 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

JMockit使用实例<二>mock private的域或方法

阅读更多
  • 关键词:mock private的域或方法 invoke
  • 源类清单
        参考<一>的例子,Now方法是私有的
  • /**
     * 演示mock private的域或方法
     */
    public class DateUtil {
        ......
        private int count;
        public int getCount(){
          return this.count;
        }
        private static final Date now() {
            return new Date();
        }
        ......
    
    }
    •  单元测试类清单
    /**
     * 演示mock private的域或方法
     */
    public class DateUtilTest {
        /**
         * Mock某个类私有方法
         */
        @Test
        public void testGetCurrentDateStr() {
            //DateUtil.class,要Mock的类
            new Expectations(DateUtil.class) {
                {
                  //执行DateUtil的now方法
                    invoke(DateUtil.class,"now");
                  //期望方法返回的结果
                    result = mockDate();
                }
            };
            Assert.assertEquals("2010-07-22 15:52:55", DateUtil.getCurrentDateStr());
        }
    
        /**
        * mock 某个类的私有属性
        */
        @Test
        public void testPrivateFiled() {
            final DateUtil dateUtil =new DateUtil();
            new Expectations(dateUtil){
                {
                    this.setField(dateUtil, "count", 2);
                }
            };
            Assert.assertEquals(2, dateUtil.getCount());
        }

     

  • 小结
    mock 某个类的私有方法,用invoke(mock的类或实例,方法名,方法的参数列表)
  • 分享到:
    评论

    相关推荐

      (2.0版本)自己写的struts2+hibernate+spring实例

      直接配置即可.&lt;br&gt;&lt;br&gt;以下是一些相关说明.&lt;br&gt;&lt;br&gt;&lt;br&gt;数据库脚本&lt;br&gt;create table HUBO_USER&lt;br&gt;(&lt;br&gt; ID VARCHAR2(32) not null,&lt;br&gt; NAME VARCHAR2(100),&lt;br&gt; BIRTHDAY DATE,&lt;br&gt; PASSWORD VARCHAR2(100),&lt;br&gt; ...

      servlet.jar 等

      &lt;br&gt;saaj.jar&lt;br&gt;serializer-2.7.0.jar&lt;br&gt;servlet.jar&lt;br&gt;servlet-api.jar&lt;br&gt;slf4j-api-1.3.1.jar&lt;br&gt;slf4j-simple-1.3.1.jar&lt;br&gt;smtp.jar&lt;br&gt;soap.jar&lt;br&gt;spring.jar&lt;br&gt;spring-mock.jar&lt;br&gt;standard.jar&lt;br&gt;...

      JSF与Shale开发用包

      aop.jar&lt;br&gt;spring-beans.jar&lt;br&gt;spring-context.jar&lt;br&gt;spring-core.jar&lt;br&gt;spring-dao.jar&lt;br&gt;spring-hibernate.jar&lt;br&gt;spring-jdbc.jar&lt;br&gt;spring-mock.jar&lt;br&gt;spring-orm.jar&lt;br&gt;spring-remoting.jar&lt;br&gt;spring-...

      JMOCKIT mock 静态方法 单元测试

      可以用来Mock JAVA代码中的静态方法

      基于springboot演示resuful api、mock请求、validate验证、异常捕捉、aop切面编程+源代码+文档说

      &gt;RESTFUL是一种网络应用程序的设计风格和开发方式,基于HTTP,可以使用XML格式定义或JSON格式定义。RESTFUL适用于移动互联网厂商作为业务使能接口的场景,实现第三方OTT调用移动网络资源的功能,动作类型为新增、...

      thrift-mock:用于模拟节俭服务的轻量级Java测试库

      导入Maven依赖与junit一起工作 &lt; dependency&gt; &lt; groupId&gt;com.didiglobal.thriftmock&lt;/ groupId&gt; &lt; artifactId&gt;thrift-mock-server4junit&lt;/ artifactId&gt; &lt; version&gt;1.0.2&lt;/ version&gt; &lt;/ dependency&gt; 在没有junit的...

      使用PowerMock来Mock静态函数

      在Java测试领域,有时我们需要对不可mock对象,如静态方法或final类,进行模拟以便于测试。PowerMock就是这样一款强大的工具,它扩展了EasyMock的功能,允许开发者在单元测试中模拟静态方法、构造器、final类和方法...

      Ajax in action 英文版配书源码.rar

      Dear 'Ajax in Action' Readers,&lt;br&gt;&lt;br&gt;This zip file gathers together the source code for the... Your feedback is welcome.&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;&lt;br&gt;Dave Crane&lt;br&gt;Gloucestershire UK&lt;br&gt;November 2005 &lt;br&gt;&lt;br&gt;

      Spring Boot与MyBatis结合 实现对mock平台改造

      本篇将详细讲解如何使用Spring Boot与MyBatis框架结合,对Mock平台进行改造。 首先,Spring Boot是基于Spring框架的简化版本,它内置了各种常用组件,如Tomcat服务器、自动配置功能等,大大简化了Java Web应用的...

      spring集成TestNG与Mockito框架单元测试方法

      在实际项目中,你可能还需要使用`@Spy`注解创建部分模拟对象,或使用`verify`方法检查方法是否被正确调用。同时,可以结合Spring的`@Autowired`和`@Qualifier`注解来处理多bean注入的情况。 通过这样的方式,Spring...

      maven+jmock

      &lt;artifactId&gt;jmockit&lt;/artifactId&gt; &lt;version&gt;1.47&lt;/version&gt; &lt;scope&gt;test&lt;/scope&gt; &lt;/dependency&gt; --&gt; &lt;/dependencies&gt; ``` 这里,我们添加了 JMock 的 JUnit4 版本。如果你的项目使用 JUnit5,你需要添加对应的 ...

      Mock基础教程

      有时候需要根据不同的条件返回不同的结果,这时可以使用`It.Is&lt;T&gt;`或`It.IsAny&lt;T&gt;`等方法来实现。 - **使用Is&lt;T&gt;来指定条件** ```csharp customer.Setup(x =&gt; x.SelfMatch(It.Is&lt;int&gt;(i =&gt; i % 2 == 0)))....

      Geoserver WPS服务开发教程

      [CDATA[' + point + ']]&gt;&lt;/wps:LiteralData&gt;&lt;/wps:Data&gt;&lt;/wps:Input&gt;&lt;/wps:DataInputs&gt;&lt;wps:ResponseForm&gt;&lt;wps:RawDataOutput&gt;&lt;ows:Identifier&gt;output&lt;/ows:Identifier&gt;&lt;/wps:RawDataOutput&gt;&lt;/wps:ResponseForm&gt;&lt;/...

      mock EF DbContext DbSet

      2. **创建DbContext的Mock**:创建一个DbContext的Mock对象,使用Moq的`Mock&lt;DbContext&gt;`构造函数。例如: ```csharp var mockDbContext = new Mock&lt;MyDbContext&gt;(); ``` 其中,`MyDbContext`是你的自定义...

      Mockito常用方法.docx

      &lt;artifactId&gt;mockito-all&lt;/artifactId&gt; &lt;version&gt;1.9.5&lt;/version&gt; &lt;scope&gt;test&lt;/scope&gt; &lt;/dependency&gt; ``` 同时,Mockito需要与JUnit配合使用,例如: ```xml &lt;dependency&gt; &lt;groupId&gt;junit&lt;/groupId&gt; ...

      dubbo-easy-mock:针对Dubbo接口的Mock解决方案

      这个框架的作用 在自动测试中,针对dubbo接口进行mock的框架 ... &lt;artifactId&gt;dubbo-easy-mock&lt;/artifactId&gt; &lt;version&gt;1.1.0&lt;/version&gt; &lt;exclusions&gt; &lt;exclusion&gt; &lt;groupId&gt;org.apache.dubbo&lt;/grou

      springboot搭建mock

      在IT行业中,Mock技术是一种非常重要的测试方法,它允许开发者模拟复杂的系统组件或者外部依赖,以便在不实际运行这些组件的情况下进行单元测试或集成测试。SpringBoot作为一个流行的Java开发框架,提供了构建微服务...

      Springboot_junit

      SpringBoot还提供了`@MockBean`和`@SpyBean`注解,它们可以在测试环境中创建模拟对象或监视真实对象的行为,这对于测试复杂的依赖关系非常有用。 此外,JUnit提供了各种断言方法(如`assertEquals`, `assertTrue`, ...

    Global site tag (gtag.js) - Google Analytics