繁体   English   中英

ReflectionTestUtils是否仅适用于类的字段,而不适用于该类的方法内部定义的变量?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM