前一段时间,当我检查并重构它们以使其更加完善时,我破坏了几个单元测试 DRY ——每次测试的目的不再明确。测试的可读性和可维护性之间似乎需要权衡。如果我在单元测试中保留重复的代码,它们会更具可读性,但是如果我更改 SUT ,我必须追踪并更改重复代码的每个副本。
您同意这种权衡的存在吗?如果是这样,您希望您的测试具有可读性还是可维护性?
最佳答案
可读性对于测试来说更重要。如果测试失败,您希望问题显而易见。开发人员不必费力地检查大量经过大量考虑的测试代码来确定到底是什么失败了。您不希望您的测试代码变得如此复杂,以至于您需要编写单元测试测试。
但是,消除重复通常是一件好事,只要它不会掩盖任何内容,并且消除测试中的重复可能会带来更好的 API。只要确保您不会超出 yield 递减点即可。
关于unit-testing - 在单元测试中重复的代码是否更容易被容忍?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/129693/