什么是ObjectMother?

Ode*_*ded 13 unit-testing design-patterns

什么是ObjectMother以及此模式的常见使用方案是什么?

Dav*_*own 22

ObjectMother以工厂模式开始,通过简单的方法调用提供预制的测试就绪对象.它通过促进创建对象的自定义,提供了在测试期间更新对象的方法,并在必要时在测试完成时从数据库中删除对象,从而超越了工厂领域.

使用ObjectMother的一些原因:
*减少测试中的代码重复,提高测试可维护性
*使测试对象易于访问,鼓励开发人员编写更多测试.
*每个测试都使用新数据运行.
*测试总是在他们自己清理之后.

(http://c2.com/cgi/wiki?ObjectMother)

  • 我只是想知道,'对象母亲'有另一个(更好的)名字吗?也许是'TestDataProvider',或类似的东西? (4认同)

cwa*_*ash 7

有关使用Test Data Builder而不是Object Mother的原因的参数,请参阅" 测试数据构建器:Object Mother模式的替代方法 ".它解释了两者是什么.

  • 这很有趣,因为我到达这篇文章时正在搜索“ObjectMother 模式作为测试数据生成器的替代方案”。 (2认同)