- 关键词:mock 常量的mock
- 源类清单
publicstaticclassClassWithConstant {privatestaticfinalInteger ANSWER =42;publicstaticfinalintgetAnswer() {returnANSWER;}} - 单元测试类清单
publicclassClassWithConstantTest {@Testpublicvoidtest() {killThreadLocal(ClassWithConstant.class.getName(),"ANSWER");Deencapsulation.setField(ClassWithConstant.class,43);assertEquals(43,newClassWithConstant().getAnswer());}//use reflection to remove the final modifier firstprivatevoidkillThreadLocal(String klazzName, String fieldName) {try{Field field = Class.forName(klazzName).getDeclaredField(fieldName);field.setAccessible(true);Field modifiersField = Field.class.getDeclaredField("modifiers");modifiersField.setAccessible(true);intmodifiers = modifiersField.getInt(field);modifiers &= ~Modifier.FINAL;modifiersField.setInt(field, modifiers);field.set(null,null);}catch(Exception e){}}}
JMockit使用实例<四>mock某个类的常量值
最新推荐文章于 2024-11-06 15:28:21 发布
本文介绍了如何在单元测试中使用mock常量,并通过示例代码展示了如何修改类的静态常量来验证测试逻辑。

808

被折叠的 条评论
为什么被折叠?



