目录

  • 一、jmockit配置
  • 二、实例
    • 2.1 被测对象
    • 2.2 测试类

一、jmockit配置

变量

    <properties><jmockit.version>1.43</jmockit.version></properties>

依赖

     <dependency><groupId>org.jmockit</groupId><artifactId>jmockit</artifactId><version>${jmockit.version}</version><scope>test</scope></dependency>

配置(版本1.42以上必须)

         <plugin><artifactId>maven-surefire-plugin</artifactId><version>2.21.0</version> <!-- or some other version --><configuration><argLine>-javaagent:${settings.localRepository}/org/jmockit/jmockit/${jmockit.version}/jmockit-${jmockit.version}.jar</argLine><!-- ... --></configuration></plugin>

二、实例

2.1 被测对象

package com.test.service;/*** @author lu* @date 2018/12/13*/
public class JMockitoSupportService {private String privateData="privateData";private String constuctData;private static String staticData;{constuctData="constuctData";}static{staticData="staticData";}public boolean sayHello(String output){System.out.println(output);if(output.equals("true")){return true;}else{return false;}}public static boolean sayStaticHello(String output){System.out.println(output);if(output.equals("true")){return true;}else{return false;}}public final boolean sayFinalHello(String output){System.out.println(output);if(output.equals("true")){return true;}else{return false;}}public String getPrivateData() {return privateData;}public String getConstuctData() {return constuctData;}public static String getStaticData() {return staticData;}
}

2.2 测试类

import com.test.service.JMockitoSupportService;
import mockit.*;
import mockit.internal.reflection.FieldReflection;
import org.junit.Before;
import org.junit.Test;public class JMockitNewTest {//私有成员mock@InjectableString privateData="private Mock Data";//代码块mock@InjectableString constuctData="constuct Mock Data";@Injectablepublic static String staticData="static Mock Data";//测试对象@TestedJMockitoSupportService jMockitoSupportService;public static class JMockitNewMockTest extends MockUp<JMockitoSupportService>{//mock代码块和构造函数@Mockvoid $init(Invocation invocation) {JMockitoSupportService jMockitoSupportService=invocation.getInvokedInstance();//1.44 废弃 1.45 删除Deencapsulation.setField(jMockitoSupportService,"staticData",staticData);}//mock静态代码块@Mockvoid $clinit(Invocation invocation){}}@Beforepublic void setUp() {new JMockitNewMockTest();//1.45静态变量需要通过反射注入
//        FieldReflection.setFieldValue(JMockitoSupportService.class.getDeclaredField("staticData")
//                ,jMockitoSupportService,staticData);}@Testpublic void testJMockit(){System.out.println(jMockitoSupportService.getConstuctData());System.out.println(jMockitoSupportService.getPrivateData());System.out.println(jMockitoSupportService.getStaticData());System.out.println(JMockitoSupportService.getStaticData());}}

(工作笔记)jmockit的使用-mock私有变量、静态变量、代码块相关推荐

  1. java中静态变量,静态代码块,静态方法,实例变量,匿名代码块的加载顺序

    1. java中静态变量,静态代码块,静态方法,实例变量,匿名代码块 在Java中,使用{}括起来的代码称为代码块,代码块可以分为以下四种: (1)普通代码块:就是类中方法的方法体 public vo ...

  2. java中类变量局部量_java入门---变量类型类变量局部变量实例变量静态变量

    在Java语言中,所有的变量在使用前必须声明.声明变量的基本格式如下: typeidentifier[= value][, identifier[= value]...]; 格式说明:type为Jav ...

  3. Java(静态)变量和(静态)代码块的执行顺序

    为什么80%的码农都做不了架构师?>>>    本文讨论Java中(静态)变量.(静态)代码块的执行顺序 首先创建3个类: //1.Foo类,用于打印变量 public class ...

  4. C语言块级变量:在代码块内部定义的变量

    所谓代码块,就是由{ }包围起来的代码.代码块在C语言中随处可见,例如函数体.选择结构.循环结构等.不包含代码块的C语言程序根本不能运行,即使最简单的C语言程序(上节已经进行了展示)也要包含代码块. ...

  5. java三大变量——静态变量、实例变量、局部变量

    文章目录 前言 一.java中变量分类 二.三者的区别与联系 1.静态变量.实例变量.局部变量区别 2.成员变量的两种细分类型的区别 总结 前言 变量是内存当中存储数据最基本的单元,将数据(字面量)放 ...

  6. Java 静态变量中包含变量,修改变量静态变量无法改变问题

    先描述下问题场景:接口地址中父类地址为可变地址,修改父类地址后发现接口地址未曾改变.: public class Init {private static String baseUrl = " ...

  7. java静态代码块、静态方法、静态变量、构造代码块、普通代码块、成员变量执行顺序

    package smartt.styy.auth.model.voRsp;public class Test {static {String test5="555";//局部变量t ...

  8. Qt|设计模式工作笔记-对单例模式进一步的理解(静态加单例实现专门收发UDP对象)

    目录 理论 源码 理论 这里只说明一点,使用单例模式,私有成员里放一个成员,这个成员是一个静态成员,把构造函数都屏蔽掉(放到protected或者private中即可)使用一个flag,让其只能生成一 ...

  9. java 静态变量加载顺序_java 成员变量 静态变量代码块 静态代码快加载顺序

    序言 基类A 类B继承实现了A类 1在new B一个实例时首先要进行类的装载.(类只有在使用New调用创建的时候才会被java类装载器装入)2,在装载类时,先装载父类A,再装载子类B 3,装载父类A后 ...

最新文章

  1. Lambda表达式(简单解析)
  2. MySQL每秒57万的写入,带你装逼,带你飞 !!
  3. H5新增的标签和属性
  4. java静态变量,静态代码块,普通代码块,构造函数加载顺序
  5. PhpYun人才系统 与 Discuz 社区 通过 Ucenter 做会员整合
  6. 记录一些常见的沟通问题 #29
  7. centos7 dotnet command not found
  8. 知乎十万级容器规模的Java分布式镜像仓库实践
  9. Java基础语法——Java语言介绍
  10. 从VBA到VSTO的一些想法
  11. SNMP学习笔记之SNMP TRAP简介、流程以及使用Python实现接受Trap信息
  12. 数字孪生交通仿真(一)
  13. 如何将OnlyOffice与NextCloud集成
  14. 解析android多语言与自定义字体
  15. 办公效率该怎么提高呢?五个高效办公小技巧分享给你,职场的你必备的神器。
  16. 双向广搜-HDU1401 Solitaire
  17. HDU 2019 Multi-University Training Contest 1 杭电2019多校联合训练赛 第一场 1001 Blank (6578)
  18. 基于深度学习的合成孔径雷达自聚焦
  19. 研究生应该常去的网站
  20. JC24B 2.4G无线模块配置

热门文章

  1. 2023年吉林大学应用数学(学硕)专业考研成功上岸经验分享
  2. 嵌入式块设备内核驱动
  3. linux不识别U盘
  4. 实时群控,苹果群控,手机群控,IOS群控,批量手机操作,批量手机控制,同步操作
  5. 【JokerのKintex7325】SDK程序从QSPI启动过慢分析。
  6. C语言.字符串,及string.h初步应用
  7. 返利软件哪个佣金高,最高的是哪个
  8. 利用C++写一个三国人物英雄按年龄排序的案例
  9. 常用的css特效(一)
  10. OPEN3D学习笔记(四)——Global registration