所以我在这里玩 PEX,这似乎是个好主意。
但是我遇到了一些问题,例如我无法使用参数单元测试来测试 equals 方法。
也许没有办法,也许这是我还没有弄清楚的技术。
一定有人有个好主意。
例如,如果我在 moq 中执行此操作,我将确保读取两个对象上的所有属性并自己进行比较以验证它们。但是我看不到如何在参数化测试中使用这种方法。
问题是我需要验证是否进行了方法调用并且在我的业务逻辑中设置/读取了属性。我不知道如何在 PEX 中做到这一点,而且那里并没有大量的文档。
所以我在这里玩 PEX,这似乎是个好主意。
但是我遇到了一些问题,例如我无法使用参数单元测试来测试 equals 方法。
也许没有办法,也许这是我还没有弄清楚的技术。
一定有人有个好主意。
例如,如果我在 moq 中执行此操作,我将确保读取两个对象上的所有属性并自己进行比较以验证它们。但是我看不到如何在参数化测试中使用这种方法。
问题是我需要验证是否进行了方法调用并且在我的业务逻辑中设置/读取了属性。我不知道如何在 PEX 中做到这一点,而且那里并没有大量的文档。
您可以检查一些与等式的数学定义相关的基本属性:
所有这些都很好,但绝对不能保证平等有效。但是在某些时候,您将在断言中指定平等对您意味着什么。例如,属性 P 的值应该相等,等等……最终,您将得到第二个相等性规范作为测试。
当您研究与 GetHashCode 的关系时,事情会变得更有趣: