【问题标题】:Unit testing an isolated object in an object graph对对象图中的孤立对象进行单元测试
【发布时间】:2012-03-08 08:47:03
【问题描述】:

我正在尝试为在遗留数据库之上构建的 JPA 模型编写一些单元测试。我的模型中的一些对象图很大,我想找到一种编写单元测试的方法,以便我可以测试图中的单个对象(即实例化新对象,填充数据,持久化,刷新,比较刷新对象成员与原始)隔离,而不必完全填充对象图。

我最初的想法是,我可以对被测对象中的任何引用对象使用模拟对象,但我认为这还不够,因为模式的引用完整性不允许由在不填充数据的情况下插入模拟对象。

我想我真正在寻找的是一种方法来实例化被测对象,然后用我并不真正关心但仍保持引用完整性的数据以某种方式填充对象图的其余部分架构。

我知道 Java 单元测试有很多选择,包括 DbUnit、EasyMock、Unitils 等,但我不确定应该使用什么组合(或特性)来解决这个问题。有人可以指出我正确的方向吗?也请随意批评我解决问题的方法;我可能需要对其进行重组。

【问题讨论】:

    标签: java hibernate unit-testing mocking dbunit


    【解决方案1】:

    您可能想查看 Object Mother 或 Test Data Builder 模式;

    TestDataBuilder 模式允许测试只指定那些部分 需要改变并使用合理默认值的对象 与测试无关。

    另见:

    【讨论】:

      猜你喜欢
      • 2010-09-11
      • 2021-12-22
      • 2023-03-06
      • 1970-01-01
      • 2012-03-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-03
      相关资源
      最近更新 更多