【转】Jmockit 修改final静态变量
来源:互联网 发布:网络游戏端口号 编辑:程序博客网 时间:2024/06/05 17:04
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){
}
}
}
作者:陈潮州
- 【转】Jmockit 修改final静态变量
- 修改java的静态final变量
- 静态final变量的初始化
- PHP--静态变量、常量、final
- 实例final变量和静态final变量变量赋值
- static final修饰的静态变量修改后更新到服务器,无法生效的问题。
- 静态变量,非静态变量和final变量
- java 反射机制修改private final变量
- Java基础(五)---局部变量、全局变量、静态变量、final变量、静态常量、静态方法
- 静态成员变量修改问题
- Jmockit
- jmockit
- jmockit
- JMockit
- jmockit
- JMockit
- Jmockit对类静态方法mock
- 再说final变量(转)
- android 自定义TextView
- iOS ASMediaFocusManager 缩略图预览
- TQ2440 u-boot-2012.04.01移植二支持NAND启动
- Text Reverse tzc
- struts2传递中文参数时乱码问题的解决
- 【转】Jmockit 修改final静态变量
- POJ 2823 Sliding Window
- 推荐一位CodeProject上的一位coder写的文章(ASP.NET)
- overload和override的区别
- mysql 替换函数replace()实现mysql 替换字符串
- delete this 的用处
- poj 1077--Eight(八数码问题,BFS,A*,全排列的哈希)
- python高级数据类型
- Ojective-C 回顾、总结