2013-11-22 22 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

看更新..... –