我一直在编写通过修改对象的值来处理对象的某些字段的代码。为了测试它,我首先编写了一个 JUnit 测试用例,它递归地遍历对象的字段并确保它们被正确修改。CUT(被测类)做了类似的事情:它递归地遍历对象的字段并根据需要修改它们。
因此,递归遍历字段的代码在测试用例和 CUT 中保持不变,并且当前是重复的,这违反了 DRY。所以我有两个问题:
1)你在项目中遇到过这样的情况吗?如果是,您是否应用了 DRY,或者让此类重复保持原样?
2)如果我把这个通用代码放在一个 util 方法中,我需要编写一个测试用例来测试它,这将再次涉及递归遍历字段。那么如何在不添加任何重复的情况下解决这个问题呢?