我有时会发现在单元测试和实现代码之间重复相同的代码块或相同的常量值。
为了在单元测试中重用常量,我需要使常量不是私有的。
为了重用代码块,我需要将块提取到单元测试可访问的某个位置。
我觉得这样做很不舒服,因为我正在减少封装和/或从我们的单元测试中删除代码块。
我应该将单元测试代码与实现代码相同并尝试在它们之间应用DRY原则,还是在两者之间重复?
答案 0 :(得分:1)
这取决于。一般来说,如果没有看到任何代码,我会赞成重复。
一些专业人士:
缺点:
Jay Fields在他的着作“有效地利用单元测试”一书中描述了DAMP和文字。 https://leanpub.com/wewut
在阅读之后,体验了在支持复制(DAMP)之后需要使用多少更集中,更容易的测试,我个人默认为DAMP测试而非出现非常干燥的代码,因为他概述了许多好处这本书。