2013-11-22 49 views
0

嗯,我有一个名为InputInterface的接口,它有一些get方法。我也有一个复杂的gui类,它实现了InputInterface,因为它太复杂,无法序列化整个类,它扩展并实现了更多的接口,所以我想创建一个类似于模拟对象的东西,它会创建类似副本我现在复杂的课程给出的答案。如何(自动)从实现该接口的类的对象为接口创建模拟对象?

我想创建一个实现该接口的类,它将保存这些值,但后来我意识到这应该是EasyMock或其他模拟库之类的标准过程?这怎么能做到?

在此先感谢。

回答

0

您实际上可以实例化一个接口,并指定所需的方法。

MyInterface myInterface = new MyInterface() { 
    public void requiredMethod(...) { 
     //... 
    } 
}; 
+0

我会在这里保存什么呢?我仍然需要在这里实现一些东西。我宁愿实现一个可以执行我所要求的Mocker,但我相信它可能已经在这些Mock库或其他库中实现了,所以我不想重新实现轮... –

0

提供的Mockito“间谍”机制来包装的现有对象,从而能够观察方法调用和潜在存根个体的方法调用。但是,它没有提供一种机制来缓存第一次调用Spied对象,然后不断返回该值。

Mockito - see the section of "Spy of real object"

我通过谷歌搜索 “间谍的Mockito缓存” 的发现这一点。它似乎可能会伎俩。

Mockito caching-spy

+0

嗯,在这种情况下,正是我所需要的将是缓存它的somethinig,或者做一个方法的答案的副本,因为观察可能会打破我相信。但是必须有一些lib或框架可以做到这一点。也许这与嘲笑无关,虽然听起来很相似,但仍然如此。 –

+0

看更新..... –