【发布时间】:2011-11-06 20:54:58
【问题描述】:
我有许多数据类,它们具有超过 25 个不同值类型的属性(这可能会随着需求的变化而在未来发生变化)。我想覆盖 equals,主要用于单元测试目的。
目前,我知道如何做到这一点的唯一方法是实际测试硬编码的每个属性的相等性。这似乎很糟糕,原因有两个 - 首先,我必须编写大量代码来测试 25 个属性的相等性 - 其次,如果稍后添加某个类中的属性,则 Equals 方法将不会检查这很可能会被忽视并导致未来出现问题。
由于 Equals 通常会检查类的属性,因此应该有一种方法可以动态比较正在比较的类的属性,以确保对类的属性更改不会导致 Equals 的错误实现。有没有办法做到这一点?
【问题讨论】: