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

JMockit使用实例<四>mock某个类的常量值

阅读更多
  • 关键词:mock 常量的mock
  • 源类清单
    public static class ClassWithConstant {
            private static final Integer ANSWER = 42;
     
            public static final int getAnswer() {
                return ANSWER;
            }
        }
  • 单元测试类清单
    public class ClassWithConstantTest {
     
     
        @Test
        public void test() {
            killThreadLocal(ClassWithConstant.class.getName(),"ANSWER");
            Deencapsulation.setField(ClassWithConstant.class, 43);
            assertEquals(43, new ClassWithConstant().getAnswer());
        }
     
        //use reflection to remove the final modifier first
        private void killThreadLocal(String klazzName, String fieldName) {
            try{
            Field field = Class.forName(klazzName).getDeclaredField(fieldName);
            field.setAccessible(true);
            Field modifiersField = Field.class.getDeclaredField("modifiers");
            modifiersField.setAccessible(true);
            int modifiers = modifiersField.getInt(field);
            modifiers &= ~Modifier.FINAL;
            modifiersField.setInt(field, modifiers);
            field.set(null, null);
            }catch(Exception e){
     
            }
    }
    }
分享到:
评论

相关推荐

    (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-...

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

    &lt;artifactId&gt;spring-cloud-dependencies&lt;/artifactId&gt; &lt;version&gt;${spring-cloud.version}&lt;/version&gt; &lt;type&gt;pom&lt;/type&gt; &lt;scope&gt;import&lt;/scope&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.commons&lt;/...

    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静态函数

    在测试类中,可以使用`PowerMockito.mockStatic(静态类.class)`来模拟静态方法。例如,如果要模拟`java.lang.Math.random()`方法,可以这样写: ```java import static org.powermock.api.mockito.PowerMockito.*; ...

    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;

    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,你需要添加对应的 ...

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

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

    JMOCKIT mock 静态方法 单元测试

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

    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基础教程

    var customer = new Mock&lt;ICustomer&gt;(); ``` **2. 设置预期的行为** 创建完Mock对象后,接下来可以设置该对象的行为。比如定义方法的返回值、抛出异常等。 ```csharp // 设置AddCall方法无任何行为 ...

    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

    mock EF DbContext DbSet

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

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

    在这个例子中,`@Mock`注解创建了一个模拟的`UserRepository`,`@InjectMocks`注解将这个模拟对象注入到了`UserService`实例中。`when(...).thenReturn(...)`语句定义了`userRepository.getUserById`方法的行为,当...

    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; ...

    springboot搭建mock

    2. **创建Mock对象**:在测试类中,我们可以使用`@Mock`注解来创建Mock对象,例如: ```java @Mock private MyService myService; ``` 3. **配置Mock行为**:通过`when()`和`thenReturn()`等方法,我们可以定义...

    mybatis学习资料

    - 动态SQL的实现主要是通过&lt;if&gt;/&lt;choose&gt;/&lt;when&gt;/&lt;otherwise&gt;/&lt;trim&gt;/&lt;where&gt;/&lt;set&gt;/&lt;foreach&gt;等标签完成的。 8. **类型处理器**: - 类型处理器负责将Java类型和SQL类型之间进行转换。 - 可以使用默认的类型...

Global site tag (gtag.js) - Google Analytics