ReflectionTestUtils是否只适用于类的字段,而不适用于该类的方法中定义的变量


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";是该方法的局部变量

如果你的意思是方法/构造函数的局部变量,你就不能用反射来访问它们。。。没有办法通过反思来获得这些信息反射在方法级别工作,而局部变量在代码块级别工作

相关内容

  • 没有找到相关文章

最新更新