【发布时间】:2011-03-16 08:37:58
【问题描述】:
从question 开始对我的 POJO 进行单元测试:
public class MyPojo{
private final Object interestingData;
MyPojo(Object data){
interestingData = data;
}
//Methods etc...
}
Hibernate 正在填充最终字段,并且包私有构造函数仅用于单元测试。我想为构造函数提供其他对象来执行在测试中应该可以模拟的逻辑。例如
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提供“引擎”的正确/简单方法是什么? Spring 似乎有点矫枉过正,因为在生产中只会有一个引擎,我这样做只是为了测试。我应该以某种方式通过 MyPojoUserType 注入 ILogicEngine 吗? (不确定这将如何工作,因为我自己不实例化它,hibernate 会)
或者这很臭,我应该保持代表数据库数据的对象干净并包装它们以使引擎工作?
【问题讨论】:
标签: java unit-testing hibernate