【发布时间】:2019-11-19 05:06:22
【问题描述】:
我想使用 EasyMock 在我的 TestB.java 类中模拟 A.notNull(obj) 方法。一周以来,我一直在努力模拟这种方法。
//A.class
public class A
{
public static void notNull(Object o)
{
notNull(o,"object is null");
}
public static void notNull(Object o, String s)
{
if (o==null)
{
throw new IllegalArgumentException(s);
}
}
}
//B.class
Class<? extends E> obj;
protected final Simple limit()
{
A.notNull(obj); //I want to mock this line in my TestB.java class using EasyMock framework
}
我们将不胜感激。
【问题讨论】:
-
Easy mock不支持Static mocking,需要powermock和easymock配合使用。
-
感谢您的宝贵回复,但我与 EasyMock 框架绑定。请建议使用 EasyMock 本身的任何其他方式。
-
这是内部实现细节,可以通过内联空检查来合理地替换。不要嘲笑它;相反,请确认
B在呈现null时正确执行。 -
不是一个好的解决方案,但仍然在某些地方使用stackoverflow.com/a/12193017/4762502
-
B 类正确执行空检查。它在 obj 字段中给出类名。
标签: java methods static void easymock