- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 PODAM用一些 JUnit 测试用例中的一些测试数据填充我的对象。我遇到了一个我无法理解的错误。
PODAM 在制造我的对象时报告了这行日志记录:
The setter: setId is not accessible.Setting it to accessible. However this is a security hack and your code should really adhere to Javabean standards.
我的每一个 setter 在尝试填充对象时都会收到此警告。在这种情况下,setId() 包含以下内容:
public void setId( int id )
{
this.id = id;
}
有谁知道为什么会标记此错误,因为该方法是公开的,为什么它会被标记为“不可访问”。
我查看了 PODAM 源代码,它正在检查方法是否可访问,每次返回 false 时,PODAM 都会在调用之前将方法设置为可访问:
if (!setter.isAccessible()) {
LOG.warn("The setter: {} is not accessible.Setting it to accessible. "
+ "However this is a security hack and your code should really adhere to Javabean standards.",
setter.getName());
setter.setAccessible(true);
}
setter.invoke(retValue, setterArg);
PODAM 实际上运行良好,并根据需要用随机数据填充所有字段。我很好奇为什么我每次都会收到此错误,以及代码中是否存在导致它不符合标准的问题。
最佳答案
isAccessible() returning false for public setters
是的。它应该做的。根据the javadocs , accessible
标志确定当您尝试通过 Method
对象调用方法时,Method
对象是否忽略正常的 Java 访问规则.根据 javadoc,该标志默认为 false
... 意思是“应用 Java 访问规则”。
但是。您发布的代码片段似乎将 accessible
标志误解为表示可以调用该方法。那是不正确的……最终结果是虚假警告。
这看起来像是 PODAM 中的错误,我建议您向 PODAM 库的维护者提出问题。
关于java - isAccessible() 为公共(public) setter 返回 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23361320/
我正在使用 PODAM用一些 JUnit 测试用例中的一些测试数据填充我的对象。我遇到了一个我无法理解的错误。 PODAM 在制造我的对象时报告了这行日志记录: The setter: setId i
我是一名优秀的程序员,十分优秀!