用java编写综合/桥接方法
我正在编写一个应用程序来检查该方法是合成的还是桥接的。 为了测试这个应用程序,我在我的存根中添加了各种方法。 但对于任何方法来说,测试用例中都没有覆盖这个块。 Stub 包含 validate(Object o) 等方法,就像任何其他普通的 java 类一样。
我应该在我的存根中添加什么样的方法才能覆盖这一行?
代码 :
Method[] methods = inputClass.getMethods();
for (Method method : methods) {
if (method.isSynthetic() || method.isBridge()) {
isInternal = true;
}
// More code.
}
I am writing an application which checks if the method is sythentic or bridge.
For testing this application I have added various methods in my stub.
But for none of the method this block is getting covered in the test case.
Stub contains methods like validate(Object o) ,etc its just like any other normal java class.
What kind of method should I add in my stub so this line will get covered?
code :
Method[] methods = inputClass.getMethods();
for (Method method : methods) {
if (method.isSynthetic() || method.isBridge()) {
isInternal = true;
}
// More code.
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
Java 中的桥接方法是合成方法,是实现某些 Java 语言功能所必需的。最著名的示例是协变返回类型和泛型中的情况,即基本方法参数的擦除与所调用的实际方法不同。
另请参阅< /强>
Bridge methods in Java are synthetic methods, which are necessary to implement some of Java language features. The best known samples are covariant return type and a case in generics when erasure of base method's arguments differs from the actual method being invoked.
See Also
这里我们列出了 JDK 中标记有
ACC_BRIDGE
的 Java 方法示例/或ACC_SYNTHETIC
,因此可以通过反射使用它们来轻松覆盖您的测试用例:ACC_BRIDGE
又是ACC_SYNTHETIC
ACC_SYNTHETIC
祝你好运!
Here we list example Java methods in JDK is tagged with
ACC_BRIDGE
and/orACC_SYNTHETIC
, so they can be used via reflection to cover your test case easily:ACC_BRIDGE
andACC_SYNTHETIC
ACC_SYNTHETIC
Good luck!