通常测试测试VAULE值为true,但是测试值一致测试不到false分支,客户要求分支达到一定程度,现在需要将VAULE值设置为false,设置方法如下:
为了保证原本代码逻辑的合理性,建议在setUp中重新复归
@Before public void setUp() { // 每次执行代码顺序为 @Before->@Test->@After Temp obj = new Temp(); Field valueField = Temp.class.getDeclaredField("VAULE"); valueField.setAccessible(true); Field modifiers = valueField .getClass().getDeclaredField("accessFlags"); modifiers.setAccessible(true); modifiers.setInt(valueField , valueField .getModifiers() & ~Modifier.FINAL); valueField.set(null, true); modifiers.setInt(valueField , valueField .getModifiers() & ~Modifier.FINAL); }为了使测试代码具有更高的复用性可阅读性,建议将测试变量名命名函数规范,不要采用数字后缀的方式,便于后续观察代码时知道测试代码走到了那个逻辑分支。
以上描述存在问题和知识点不足的地方欢迎指正和探讨~