2011-12-21 73 views
0

我一直在考慮使用EasyMock 3的IMockBuilder作爲生成部分模擬的手段(我知道部分模擬可能暗示設計缺陷,但我正在編寫舊代碼測試)。大概我可以使用已棄用的靜態EasyMock.createMock()方法,在我的Spring配置創建豆類,像這樣:使用EasyMock 3與彈簧IMockBuilder

<bean id="myBean" class="org.easymock.EasyMock" factory-method="createMock"> 
    <constructor-arg value="org.mypackage.MyClass.class" /> 
</bean> 

當使用IMockBuilder產生部分模擬,我需要多次調用addMockedMethod()爲了定義我想嘲笑的方法。有沒有辦法在Spring XML配置文件中做到這一點?理想情況下,我希望所有由Spring設置的bean的依賴關係,並且不希望在我的測試用例中重寫它們以傳遞以此方式創建的模擬對象。

謝謝

回答

1

不,XML配置不具備這種靈活性。

你有兩個選擇:

  1. 寫的FactoryBean實現其創建模擬,配置它,並返回模擬到春天。見Customizing instantiation logic with the FactoryBean Interface

  2. 在Java中使用@Configuration樣式配置,而不是XML樣式配置。這是最靈活的方法,通常比XML配置更好。見Java-based container configuration

+0

我們已經得到了很多XML配置的,我真的不希望把它與註解驅動的配置搭配,但FactoryBean的做法符合我的需要,所以我會使用它。非常感謝! – Conan 2011-12-21 16:15:30