如果使用obfusaction,为什么使用反射单元测试私有方法会失败?

Gee*_*eek 3 java junit unit-testing

关于单元测试私有方法和字段,我一直在讨论这个问题,这个答案说它可以通过反射机制来完成.但是有一种说法是在混淆的情况下它会失败.为什么会这样?

Jay*_*yan 6

混淆的工作原理是用难以读取的名称替换符号名称(方法,字段......).因此,在进行反编译后,您将获得一个java文件,您将获得一个非常无用的Java代码.

方法名称已更改,因此通过反射查找将不起作用.(除非测试代码使用带有模糊方法名称的反射 - 这不是一件容易的事)