请注意:不要删除此主题/帖子,因为在StackOverflow的任何页面上都没有正确的答案。我的问题完全不同。
我想模拟FINAL CLASS的私有静态final字段
我已尝试使用How to mock a static final variable using JUnit, EasyMock or PowerMock上给出的解决方案
static void setFinalStatic(Field field,Object newValue)引发IllegalAccessException,NoSuchFieldException { field.setAccessible(true);
// remove final modifier from field
Field modifiersField = Field.class.getDeclaredField("modifiers");
modifiersField.setAccessible(true);
modifiersField.setInt(field, field.getModifiers() & ~Modifier.FINAL);
field.set(null, newValue);
}
但是它在“ field.set(null,newValue);”处给我ExceptionInInitializerError
请咨询