[英]Does ReflectionTestUtils works only on fields of a class, not on variables defined inside a method of that class?
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";
访问局部变量String Street = "MGRoad";
是该方法的局部变量
如果您的意思是方法/构造函数本地的变量,则不能通过反射访问它们。 ...无法通过反射获取此信息。 反射在方法级别起作用,而局部变量在代码块级别起作用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.