当前位置:  开发笔记 > 编程语言 > 正文

测试数据生成器模式:更有用还是更保养?

如何解决《测试数据生成器模式:更有用还是更保养?》经验,为你挑选了1个好方法。

首先我要说的是,我非常喜欢这种模式的优雅 - 我有一组基本实体,我已经实现了构建器(专门用于测试).然而,我发现(这可能是警告)随着我的程序的发展,我不得不回去重建建筑工人.最后,让它们保持更新似乎并不值得,我回过头来主要保留一个具有大量预配置实体的Object Mother.我是否应该继续更新构建器以供将来使用,或者TDB是否应该只在您的设计达到某种稳定性并且Object Mother变得太大时才会创建?

另请注意,我发现我没有在应用程序中的任何其他地方使用构建器,因为我喜欢使用.Net 3.0的新属性初始化语法.



1> craigb..:

我喜欢使用流畅的构建器来测试被测对象,以表达我正在创建的对象的本质.ObjectMothers往往变得笨拙并倾向于(在我遇到的实现中)最终隐藏对象创建的细节.

相比:

User fred = CreateUser("fred").WithReputation(900)
                              .WithScholarBadge()
                              .WithCriticBadge()

VS:

User fred = UserObjectMother.Fred()

表达用户拥有rep 900的想法,并且那两个特定的徽章与ObjectMother不一致.我看到的这种趋势是开发人员然后找到这种构建方法,这种方法Fred()接近他们需要的方式,因此他们为对象添加了更多属性.另一方面,流畅的构建器表达了正在构建的内容,并且可以根据需要轻松地为测试创建特定用户.

也就是说,我最终也只是在测试代码中使用这些模式,因为生产代码通常不需要这种表达方式.

推荐阅读
农大军乐团_697
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有