2011-03-16 73 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目的,以便您可以轻松测试,是否明智? 我同意你的最后陈述。保持数据与引擎分开。