首页 > 解决方案 > 流利的断言 - 比较空对象

问题描述

我正在使用另一个项目生成 C# 解决方案。生成的解决方案包含多个类和每个类的单元测试文件。

单元测试创​​建一个类的两个实例并比较它们。为了进行比较,我选择了 FluentAssertion(我尝试了其他外部比较器,例如 ComareNetObjects,但在深度较大的对象上花费的时间太长)。

实例比较如下:

inst1.Should().BeEquivalentTo(inst2);

问题是一些生成的类没有字段或属性。对于这些类,单元测试会创建两个实例(没有成员)并比较它们。等效性检查抛出:

System.InvalidOperationException(0x80131509):未找到可比较的成员。请指定一些要包含在比较中的成员或选择更有意义的断言。

我不想仅为测试扩展生成的类,也不想检查每个实例的属性。

有没有办法在 FluentAssertion 中自定义这种行为?

标签: c#code-generationfluent-assertions

解决方案


推荐阅读