2011-03-16 180 views
1

簡單的依賴注入從單元測試question繼我的POJO:休眠,用戶類型

public class MyPojo{ 
    private final Object interestingData; 

    MyPojo(Object data){ 
     interestingData = data; 
    } 

    //Methods etc... 
} 

Hibernate是爲了填充決賽場上,幷包專用construtor只是進行單元測試。我想給構造函數的其他對象執行應該在測試中可嘲弄的邏輯。例如。

public class MyPojo{ 
    private final Object interestingData; 
    private final ILogicEngine engine; 

    MyPojo(Object data, ILogicEngine engine){ 
     interestingData = data; 
     this.engine = engine 
    } 

    //Methods etc... 
} 

讓hibernate爲每個POJO提供「引擎」的權利/簡單方法是什麼?春天似乎有點過分,因爲在生產中只會有一個引擎,我只是在做這個測試。我應該通過MyPojoUserType以某種方式注入ILogicEngine嗎? (不知道這將如何工作,因爲我沒有自己實例化,休眠)

或者是這個臭,我應該保持代表DB數據的對象乾淨,幷包裝他們做引擎的工作?

回答

1

我想我們在這裏混合了DI和ORM的關注點。即使嘗試將DHI用於DI目的,以便您可以輕鬆測試,是否明智? 我同意你的最後陳述。保持數據與引擎分開。