ReflectionTestUtils是否只适用于类的字段,而不适用于该类的方法内部定义的变量?
我试着测试一个类的字段,使用ReflectionTestUtils
可以很好地工作,如果我在方法的变量上尝试,我会得到IllegalArgumentException
。
示例代码:
public class Check {
String city;
public void method() {
city = "Bangalore";
String Street = "MGRoad";
}
}
如果我想使用ReflectionTestUtils
对上面的类进行JUnit测试。
Check c = new Check();
assert ReflectionTestUtils.getField(c, "city").equals("Bangalore")
-> works fine.
assert ReflectionTestUtils.getField(c, "Street").equals("MGRoad")
-> gives illegalArgumentException.
请看一看,并建议我是否可以测试一个方法的属性。
不能使用反射访问局部变量,并且String Street = "MGRoad";
是该方法的局部变量
如果你的意思是方法/构造函数的局部变量,你就不能用反射来访问它们。。。没有办法通过反思来获得这些信息反射在方法级别工作,而局部变量在代码块级别工作