我正在尝试为我在遗留数据库之上构建的JPA模型编写一些单元测试。我的模型中的一些对象图很大,我想找到一种编写单元测试的方法,这样我就可以测试图中的单个对象(即实例化新对象,填充数据,持久化,刷新,比较刷新)孤立的对象成员,而不必完全填充对象图。
我最初的想法是,我可以对被测对象中的任何引用对象使用模拟对象,但我认为这不足以使模式的引用完整性不允许由表示的对象要插入的模拟对象,而不用数据填充。
我想我真正想要的是一种实例化测试对象的方法,然后以某种方式填充对象图的其余部分,这些数据我并不真正关心,但仍然保持了参照完整性架构。
我知道Java单元测试有很多选择,包括DbUnit,EasyMock,Unitils等,但我不确定我应该用什么组合(或功能)来解决这个问题。有人能指出我正确的方向吗?随意批评我对问题的处理方法;我可能需要对其进行重组。
答案 0 :(得分:4)
您可能希望查看Object Mother或Test Data Builder模式;
TestDataBuilder模式允许测试仅指定那些部分 需要改变的对象并使用合理的默认值 与测试无关。
另见: