前段时间,当我经历并重构它们以使其更加出色时,我破坏了几个单元测试DRY http://en.wikipedia.org/wiki/Don%27t_repeat_yourself——每次测试的目的不再明确。测试的可读性和可维护性之间似乎需要权衡。如果我在单元测试中保留重复的代码,它们会更具可读性,但是如果我更改SUT http://en.wikipedia.org/wiki/System_Under_Test,我必须追踪并更改重复代码的每个副本。
您同意这种权衡的存在吗?如果是这样,您希望您的测试具有可读性还是可维护性?
可读性对于测试来说更重要。如果测试失败,您希望问题显而易见。开发人员不必费力地检查大量经过大量考虑的测试代码来确定到底是什么失败了。您不希望您的测试代码变得如此复杂,以至于需要编写单元测试。
然而,消除重复通常是一件好事,只要它不会掩盖任何东西,并且消除测试中的重复可能会带来更好的 API。只要确保您不会超过收益递减点即可。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)