我有这个抽象类:
public abstract class Accessor<T extends Id, U extends Value>
{
public U find(T id)
{
// let's say
return getHelper().find(id);
}
}
和一个实现:
public FooAccessor extends Accessor<FooId,Foo>
{
public Helper getHelper
{
// ...
return helper;
}
}
我想模拟对 FooAccessor.find 的调用。这:
@MockClass(realClass=FooAccessor.class)
static class MockedFooAccessor
{
public Foo find (FooId id)
{
return new Foo("mocked!");
}
}
将失败并出现此错误:
java.lang.IllegalArgumentException: Matching real methods not found for the following mocks of MockedFooAccessor:
Foo find (FooId)
我明白为什么......但我不知道我还能怎么做。
注意:是的,我可以模拟 getHelper 方法,得到我想要的;但这更像是一个了解 JMockit 和这个特殊案例的问题。